ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacques Le Roux" <jacques.le.r...@les7arts.com>
Subject Re: SOAP XML-RPC Confusion
Date Wed, 12 Sep 2012 17:47:48 GMT
Wich Release.revision are you using? (see any bottom of any backend page, after using: ant
svninfo)

Please use rather user ML for such questions, see why here :
http://cwiki.apache.org/confluence/display/OFBADMIN/Mailing+Lists#MailingLists-DesignanddevelopmentList:dev@ofbiz.apache.org

Thanks

Jacques

From: "fmisa" <frankmisa@hotmail.com>
> Hi OfBiz Developers...
> 
> I'm new to OfBiz - evaluating...
> Would like to make some calls on Java Service - via a SOAP or XML-RPC
> client.
> 
> The online documentation, tutorials and forum are unclear on how best to
> invoke a Java method from client (wishing to bypass the OfBiz UI component
> "screens" hierarchy)
> 
> I've been able to externalize by custom service - by adding export to
> service definition:
> engine="java"  export="true"
> 
> This auto-generates a WSDL for my service - available from here:
> https://localhost:8443/webtools/control/SOAPService?wsdl
> 
> However, when I hit my service - using SOAP call - auto-generated from this
> WSDL definition - I'm getting all sorts of SOAP XML deserialize errors....
> right at:
> 
> line 424 (Trunk) XmlSerializer >> Node tempNode =
> mapKeyElement.getFirstChild();
> 
> NullPointerException - because mapKeyElement is NULL from previous 
> line: 422: Element mapKeyElement = UtilXml.firstChildElement(curElement,
> "map-Key");
> 
> The data/elements it's looking for "map-Key" etc. all seem to be there - not
> sure why I'm getting a NullPointer here - here's a snapshot of the actual
> XML message being sent:
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
>    <SOAP-ENV:Body>
>        <jsx1:testServiceTest xmlns:jsx1="http://ofbiz.apache.org/service/"
>>
>            <map-Map>
>                <jsx1:map-Entry>
>                    <jsx1:map-Key>
>                        <jsx1:std-String>testAttrib1String</jsx1:std-String>
>                    </jsx1:map-Key>
> 
>                    <jsx1:map-Value>
>                        <jsx1:std-String>testKey1</jsx1:std-String>
>                    </jsx1:map-Value>
>                </jsx1:map-Entry>
>                <jsx1:map-Entry>
>                    <jsx1:map-Key>
>                        <jsx1:std-String>testAttrib2String</jsx1:std-String>
>                    </jsx1:map-Key>
>                    <jsx1:map-Value>
>                        <jsx1:std-String>testValue1</jsx1:std-String>
>                    </jsx1:map-Value>
>                </jsx1:map-Entry>
>            </map-Map>
>        </jsx1:testServiceTest>
>    </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> So - I backed up - and decided to work with the OfBiz "Ping" service... just
> to test...
> From the OfBiz - ServiceReference List - I can schedule a "Ping" job - and
> it runs successfully see the attached "workingPing.sqd.jpg" file for
> sequence...
> http://ofbiz.135035.n4.nabble.com/file/n4636249/workingPing.sqd.jpg 
> 
> 
> However, I'm not able to call the "Ping" service via a SOAP call - same
> error I get with my custom service.
> Why is the SOAPHandler failing to process the request message XML ?.... 
> Shouldn't the SOAPHandler delegegate to JavaEventHandler given my service
> engine type ?
> 
> Should I be using XML-RPC instead ?  I cannot find a single example of
> tutorial that walks you through an XML-RPC example.
> See the "failingPing.sqd.jpg" for sequence taken by app - when invoking from
> my SOAP client...
> http://ofbiz.135035.n4.nabble.com/file/n4636249/failingPing.sqd.jpg 
> 
> Why wouldn't the following SOAP call - be processed by the Ping service ?
> 
> Request:
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
>    <SOAP-ENV:Body>
>        <jsx1:ping xmlns:jsx1="http://ofbiz.apache.org/service/" >
>            <map-Map>
>                <jsx1:map-Entry>
>                    <jsx1:map-Key>
>                        <jsx1:std-String value="message" />
>                    </jsx1:map-Key>
>                    <jsx1:map-Value>
>                        <jsx1:null />
>                        <jsx1:std-String value="PING_TEST_BOOYAH" />
>                    </jsx1:map-Value>
>                </jsx1:map-Entry>
>            </map-Map>
>        </jsx1:ping>
>    </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> 
> Response:
> <?xml version="1.0" encoding="utf-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>
>    <soapenv:Body>
>        <pingResponse xmlns="http://ofbiz.apache.org/service/" >
>            <map-Map>
>                <map-Entry>
>                    <map-Key>
>                        <std-String value="responseMessage" >
>                        </std-String>
>                    </map-Key>
> 
>                    <map-Value>
>                        <std-String value="error" >
>                        </std-String>
>                    </map-Value>
>                </map-Entry>
>            </map-Map>
>        </pingResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
> 
> 
> Same error - as my custom service:
> [java] ---- runtime exception report
> --------------------------------------------------
> [java] Exception: java.lang.NullPointerException
> [java] Message: null
> [java] ---- stack trace
> ---------------------------------------------------------------
> [java] java.lang.NullPointerException
> [java]
> org.ofbiz.entity.serialize.XmlSerializer.deserializeSingle(XmlSerializer.java:424)
> [java]
> org.ofbiz.entity.serialize.XmlSerializer.deserialize(XmlSerializer.java:128)
> [java]
> org.ofbiz.service.engine.SoapSerializer.deserialize(SoapSerializer.java:45)
> [java]
> org.ofbiz.webapp.event.SOAPEventHandler.invoke(SOAPEventHandler.java:177)
> [java]
> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:666)
> [java]
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:409)
> [java]
> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:214)
> [java]
> org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:86)
> [java] javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
> [java] javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> [java]
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
> [java]
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [java]
> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:318)
> [java]
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> [java]
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> [java]
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
> [java]
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> [java]
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> [java]
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> [java]
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> [java]
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> [java]
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> [java]
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> [java]
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
> [java]
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
> [java]
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
> [java]
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [java]
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [java] java.lang.Thread.run(Thread.java:662)
> 
> 
> Hope someone here - can help me understand what I'm doing wrong...
> Thanks
> Frank
> 
> 
> 
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/SOAP-XML-RPC-Confusion-tp4636249.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.

Mime
View raw message