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?
> 

Reply via email to