You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by vivtops86 <vi...@nestgroup.net> on 2010/07/27 21:04:32 UTC
XML-RPC client problem
Hi,
somebody please show me how to call a web service using XML-RPC.Preferably
with a simple example.
Whenever i call a web service, a SAXException(conent is not allowed in
prolog) is obtained.
Thanks
Vivek
--
View this message in context: http://ofbiz.135035.n4.nabble.com/XML-RPC-client-problem-tp2303975p2303975.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: XML-RPC client problem
Posted by Jacques Le Roux <ja...@les7arts.com>.
I told you already, you would get more help on the user ML: wider audience...
Jacques
From: "vivtops86" <vi...@nestgroup.net>
> I am also confused about the URL part...
> my WSDL location is
> http://127.0.0.1:8080/webtools/control/SOAPService/learningFirstSoap?WSDL
>
> so what will be my URL in 'config.setServerURL' statement
> and
> what is the first parameter of 'client.execute' statement...
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/XML-RPC-client-problem-tp2303975p2304541.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
Re: XML-RPC client problem
Posted by vivtops86 <vi...@nestgroup.net>.
I am also confused about the URL part...
my WSDL location is
http://127.0.0.1:8080/webtools/control/SOAPService/learningFirstSoap?WSDL
so what will be my URL in 'config.setServerURL' statement
and
what is the first parameter of 'client.execute' statement...
--
View this message in context: http://ofbiz.135035.n4.nabble.com/XML-RPC-client-problem-tp2303975p2304541.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: XML-RPC client problem
Posted by Adam Heath <do...@brainfood.com>.
vivtops86 wrote:
> somebody please help me with the problem...i am desperate...
But it's middle of the night some places. Be patient. Someone else
might know.
Re: XML-RPC client problem
Posted by vivtops86 <vi...@nestgroup.net>.
somebody please help me with the problem...i am desperate...
--
View this message in context: http://ofbiz.135035.n4.nabble.com/XML-RPC-client-problem-tp2303975p2304461.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: XML-RPC client problem
Posted by vivtops86 <vi...@nestgroup.net>.
Thanks Adam for the reply,
I am new to ofbiz
my service definition is :
<service name="learningFirstSoap" engine="java"
location="org.ofbiz.learning.learning.LearningServices" invoke="testData"
export="true">
<description>Our First Service</description>
<attribute name="test" type="String" mode="IN"
optional="true" />
<attribute name="ret" type="String" mode="OUT"
optional="true" />
</service>
the corresponding method is:
public static Map testData(DispatchContext dctx, Map context){
String ret=(String)context.get("test");
String message = "test: ";
Map resultMap = ServiceUtil.returnSuccess(message);
resultMap.put("ret", ret);
return resultMap;
}
please show me where the mistake is..
--
View this message in context: http://ofbiz.135035.n4.nabble.com/XML-RPC-client-problem-tp2303975p2304433.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: XML-RPC client problem
Posted by Adam Heath <do...@brainfood.com>.
Adam Heath wrote:
> vivtops86 wrote:
>> I have successfully generated a WSDL which is given below
>
> Well, calling a remote SOAP service mapped thru the ofbiz service
> engine requires the calling service to return a map. That's just the
> way it is.
>
> I'm not a WSDL guru, but reading the definition below, you are
> defining a SOAP service to return a String. Don't do that.
To restate:
Allowing SOAP services that return things other than a Map, would be
exactly the same as allowing static java methods to return something
other than a Map.
The ofbiz service engine returns a Map. That's just the way it is.
>> <?xml version="1.0" encoding="UTF-8" ?>
>> - <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/"
>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> xmlns:tns="http://ofbiz.apache.org/service/"
>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>> - <wsdl:message name="learningFirstSoapResponse">
>> <wsdl:part name="ret" type="xsd:string" />
>> </wsdl:message>
>> - <wsdl:message name="learningFirstSoapRequest">
>> <wsdl:part name="test" type="xsd:string" />
>> </wsdl:message>
>> - <wsdl:portType name="learningFirstSoapPortType">
>> - <wsdl:operation name="learningFirstSoap">
>> <wsdl:input message="tns:learningFirstSoapRequest" />
>> <wsdl:output message="tns:learningFirstSoapResponse" />
>> </wsdl:operation>
>> </wsdl:portType>
>> - <wsdl:binding name="learningFirstSoapSoapBinding"
>> type="tns:learningFirstSoapPortType">
>> <soap:binding style="document"
>> transport="http://schemas.xmlsoap.org/soap/http" />
>> - <wsdl:operation name="learningFirstSoap">
>> <soap:operation
>> soapAction="http://127.0.0.1:8080/webtools/control/SOAPService" style="rpc"
>> />
>> - <wsdl:input>
>> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> namespace="http://ofbiz.apache.org/service/" use="literal" />
>> </wsdl:input>
>> - <wsdl:output>
>> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> namespace="http://ofbiz.apache.org/service/" use="literal" />
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:binding>
>> - <wsdl:service name="learningFirstSoap">
>> - <wsdl:port binding="tns:learningFirstSoapSoapBinding"
>> name="learningFirstSoapPort">
>> <soap:address
>> location="http://127.0.0.1:8080/webtools/control/SOAPService" />
>> </wsdl:port>
>> </wsdl:service>
>> </wsdl:definitions>
>>
>>
>> my service client looks like this
>>
>> public static String serviceClient(HttpServletRequest request,
>> HttpServletResponse response){
>> XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
>> try {
>> config.setServerURL(new
>> URL("http://localhost:8080/webtools/control/SOAPService/"));
>> } catch (MalformedURLException e1) {
>> // TODO Auto-generated catch block
>> e1.printStackTrace();
>> }
>> config.setEnabledForExtensions(true);
>>
>> XmlRpcClient client = new XmlRpcClient();
>> client.setConfig(config);
>>
>> Map paramMap = new HashMap();
>> paramMap.put("test", "admin");
>>
>> Object[] params = new Object[]{paramMap};
>>
>> Map result = null;
>> try {
>> result = (Map) client.execute("learningFirstSoap", params);
>> } catch (XmlRpcException e) {
>> // TODO Auto-generated catch block
>> e.printStackTrace();
>> }
>>
>> System.out.println(result.toString());
>> return "success";
>>
>> }
>>
>>
>> but when i call the service an exception is got from the statement "result
>> = (Map) client.execute("learningFirstSoap", params);"
>> the Exception is
>>
>> [Fatal Error] :1:1: Content is not allowed in prolog.
>> org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's
>> response: Content is not allowed in prolog.
>> at
>> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:188)
>> at
>> org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
>> at
>> org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
>> at
>> org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
>> at
>> org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
>> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
>> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
>> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
>> at org.ofbiz.oagis.OagisServices.serviceClient(OagisServices.java:803)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
>> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
>> at
>> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:592)
>> at
>> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:361)
>> at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:202)
>> at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:78)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
>> at
>> org.ofbiz.catalina.container.CrossSubdomainSessionValve.invoke(CrossSubdomainSessionValve.java:62)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>> at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>> at java.lang.Thread.run(Unknown Source)
>> Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
>> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
>> at
>> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186)
>> ... 37 more
>> Caused by:
>> org.xml.sax.SAXParseException: Content is not allowed in prolog.
>> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
>> at
>> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186)
>> at
>> org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
>> at
>> org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
>> at
>> org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
>> at
>> org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
>> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
>> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
>> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
>> at org.ofbiz.oagis.OagisServices.serviceClient(OagisServices.java:803)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
>> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
>> at
>> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:592)
>> at
>> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:361)
>> at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:202)
>> at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:78)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)2010-07-28
>> 09:47:11,547 (http-0.0.0.0-8080-1) [ JavaEventHandler.java:100:ERROR]
>>
>>
>> could you tel me wat the reason is?
>
Re: XML-RPC client problem
Posted by Adam Heath <do...@brainfood.com>.
vivtops86 wrote:
> I have successfully generated a WSDL which is given below
Well, calling a remote SOAP service mapped thru the ofbiz service
engine requires the calling service to return a map. That's just the
way it is.
I'm not a WSDL guru, but reading the definition below, you are
defining a SOAP service to return a String. Don't do that.
>
> <?xml version="1.0" encoding="UTF-8" ?>
> - <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://ofbiz.apache.org/service/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> - <wsdl:message name="learningFirstSoapResponse">
> <wsdl:part name="ret" type="xsd:string" />
> </wsdl:message>
> - <wsdl:message name="learningFirstSoapRequest">
> <wsdl:part name="test" type="xsd:string" />
> </wsdl:message>
> - <wsdl:portType name="learningFirstSoapPortType">
> - <wsdl:operation name="learningFirstSoap">
> <wsdl:input message="tns:learningFirstSoapRequest" />
> <wsdl:output message="tns:learningFirstSoapResponse" />
> </wsdl:operation>
> </wsdl:portType>
> - <wsdl:binding name="learningFirstSoapSoapBinding"
> type="tns:learningFirstSoapPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> - <wsdl:operation name="learningFirstSoap">
> <soap:operation
> soapAction="http://127.0.0.1:8080/webtools/control/SOAPService" style="rpc"
> />
> - <wsdl:input>
> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://ofbiz.apache.org/service/" use="literal" />
> </wsdl:input>
> - <wsdl:output>
> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://ofbiz.apache.org/service/" use="literal" />
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> - <wsdl:service name="learningFirstSoap">
> - <wsdl:port binding="tns:learningFirstSoapSoapBinding"
> name="learningFirstSoapPort">
> <soap:address
> location="http://127.0.0.1:8080/webtools/control/SOAPService" />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
>
> my service client looks like this
>
> public static String serviceClient(HttpServletRequest request,
> HttpServletResponse response){
> XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
> try {
> config.setServerURL(new
> URL("http://localhost:8080/webtools/control/SOAPService/"));
> } catch (MalformedURLException e1) {
> // TODO Auto-generated catch block
> e1.printStackTrace();
> }
> config.setEnabledForExtensions(true);
>
> XmlRpcClient client = new XmlRpcClient();
> client.setConfig(config);
>
> Map paramMap = new HashMap();
> paramMap.put("test", "admin");
>
> Object[] params = new Object[]{paramMap};
>
> Map result = null;
> try {
> result = (Map) client.execute("learningFirstSoap", params);
> } catch (XmlRpcException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
>
> System.out.println(result.toString());
> return "success";
>
> }
>
>
> but when i call the service an exception is got from the statement "result
> = (Map) client.execute("learningFirstSoap", params);"
> the Exception is
>
> [Fatal Error] :1:1: Content is not allowed in prolog.
> org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's
> response: Content is not allowed in prolog.
> at
> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:188)
> at
> org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
> at
> org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
> at
> org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
> at
> org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
> at org.ofbiz.oagis.OagisServices.serviceClient(OagisServices.java:803)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
> at
> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:592)
> at
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:361)
> at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:202)
> at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:78)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> at
> org.ofbiz.catalina.container.CrossSubdomainSessionValve.invoke(CrossSubdomainSessionValve.java:62)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
> at
> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186)
> ... 37 more
> Caused by:
> org.xml.sax.SAXParseException: Content is not allowed in prolog.
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
> at
> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186)
> at
> org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
> at
> org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
> at
> org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
> at
> org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
> at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
> at org.ofbiz.oagis.OagisServices.serviceClient(OagisServices.java:803)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
> at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
> at
> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:592)
> at
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:361)
> at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:202)
> at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:78)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)2010-07-28
> 09:47:11,547 (http-0.0.0.0-8080-1) [ JavaEventHandler.java:100:ERROR]
>
>
> could you tel me wat the reason is?
Re: XML-RPC client problem
Posted by vivtops86 <vi...@nestgroup.net>.
I have successfully generated a WSDL which is given below
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://ofbiz.apache.org/service/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:message name="learningFirstSoapResponse">
<wsdl:part name="ret" type="xsd:string" />
</wsdl:message>
- <wsdl:message name="learningFirstSoapRequest">
<wsdl:part name="test" type="xsd:string" />
</wsdl:message>
- <wsdl:portType name="learningFirstSoapPortType">
- <wsdl:operation name="learningFirstSoap">
<wsdl:input message="tns:learningFirstSoapRequest" />
<wsdl:output message="tns:learningFirstSoapResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="learningFirstSoapSoapBinding"
type="tns:learningFirstSoapPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="learningFirstSoap">
<soap:operation
soapAction="http://127.0.0.1:8080/webtools/control/SOAPService" style="rpc"
/>
- <wsdl:input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://ofbiz.apache.org/service/" use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://ofbiz.apache.org/service/" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="learningFirstSoap">
- <wsdl:port binding="tns:learningFirstSoapSoapBinding"
name="learningFirstSoapPort">
<soap:address
location="http://127.0.0.1:8080/webtools/control/SOAPService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
my service client looks like this
public static String serviceClient(HttpServletRequest request,
HttpServletResponse response){
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
try {
config.setServerURL(new
URL("http://localhost:8080/webtools/control/SOAPService/"));
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
config.setEnabledForExtensions(true);
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
Map paramMap = new HashMap();
paramMap.put("test", "admin");
Object[] params = new Object[]{paramMap};
Map result = null;
try {
result = (Map) client.execute("learningFirstSoap", params);
} catch (XmlRpcException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(result.toString());
return "success";
}
but when i call the service an exception is got from the statement "result
= (Map) client.execute("learningFirstSoap", params);"
the Exception is
[Fatal Error] :1:1: Content is not allowed in prolog.
org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's
response: Content is not allowed in prolog.
at
org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:188)
at
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
at
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at
org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
at org.ofbiz.oagis.OagisServices.serviceClient(OagisServices.java:803)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
at
org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:592)
at
org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:361)
at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:202)
at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at
org.ofbiz.catalina.container.CrossSubdomainSessionValve.invoke(CrossSubdomainSessionValve.java:62)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at
org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186)
... 37 more
Caused by:
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at
org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186)
at
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
at
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at
org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
at org.ofbiz.oagis.OagisServices.serviceClient(OagisServices.java:803)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
at org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
at
org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:592)
at
org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:361)
at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:202)
at org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:259)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)2010-07-28
09:47:11,547 (http-0.0.0.0-8080-1) [ JavaEventHandler.java:100:ERROR]
could you tel me wat the reason is?
--
View this message in context: http://ofbiz.135035.n4.nabble.com/XML-RPC-client-problem-tp2303975p2304419.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: XML-RPC client problem
Posted by Jacques Le Roux <ja...@les7arts.com>.
And please use rather user ML for such questions/answers, see why here :
http://cwiki.apache.org/confluence/display/OFBADMIN/Mailing+Lists#MailingLists-DesignanddevelopmentList:dev@ofbiz.apache.org
Thanks
Jacques
From: "Nicolas Malin" <ma...@librenberry.net>
> Hi Vivek,
>
> You have an example with xml-rpc-local engine to call an service by xml-rpc. After just create a new engine definition in
> serviceengine.xml with your url to call and other parameters that you need.
>
> Nicolas
>
> Le 27/07/2010 21:04, vivtops86 a écrit :
>> Hi,
>> somebody please show me how to call a web service using XML-RPC.Preferably
>> with a simple example.
>> Whenever i call a web service, a SAXException(conent is not allowed in
>> prolog) is obtained.
>>
>> Thanks
>> Vivek
>>
>
>
> --
> Nicolas MALIN
> Consultant
> Tél : 06.17.66.40.06
> Site projet : http://www.neogia.org/
> -------
> Société LibrenBerry
> Tél : 02.48.02.56.12
> Site : http://www.librenberry.net/
>
Re: XML-RPC client problem
Posted by Nicolas Malin <ma...@librenberry.net>.
Hi Vivek,
You have an example with xml-rpc-local engine to call an service by
xml-rpc. After just create a new engine definition in serviceengine.xml
with your url to call and other parameters that you need.
Nicolas
Le 27/07/2010 21:04, vivtops86 a écrit :
> Hi,
> somebody please show me how to call a web service using XML-RPC.Preferably
> with a simple example.
> Whenever i call a web service, a SAXException(conent is not allowed in
> prolog) is obtained.
>
> Thanks
> Vivek
>
--
Nicolas MALIN
Consultant
Tél : 06.17.66.40.06
Site projet : http://www.neogia.org/
-------
Société LibrenBerry
Tél : 02.48.02.56.12
Site : http://www.librenberry.net/