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/