Excpetion
ruslan.khmelyuk Dec 13, 2006 3:29 AMHello!
I am using Specification-Version: jbossws-1.0.
While my work, I need to create web-service to provide processing of submitted InfoPath forms.
According to this I change autogenerated wsdl to other more compatible with InfoPath format of wsdl:
?xml version="1.0" encoding="utf-8" ?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://myhost/WSInfoPath/" targetNamespace="http://myhostWSInfoPath/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <types> <xs:schema elementFormDefault="qualified" targetNamespace="http://myhost/WSInfoPath/"> <xs:element name="uploadForm1"> <xs:complexType /> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="requestData" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="uploadForm1Response"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="uploadForm1Result"> <xs:complexType mixed="true"> <xs:sequence> <xs:any /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </types> <message name="uploadForm1SoapIn"> <part name="parameters" element="tns:uploadForm1"/> </message> <message name="uploadForm1SoapOut"> <part name="parameters" element="tns:uploadForm1Response"/> </message> <portType name="ServiceSoap"> <operation name="uploadForm1"> <input message="tns:uploadForm1SoapIn"/> <output message="tns:uploadForm1SoapOut"/> </operation> </portType> <binding name="ServiceSoap" type="tns:ServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="submitForm"> <operation name="uploadForm1"> <soap:operation soapAction="http://myhost/WSInfoPath/uploadForm1" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="Service" > <port name="WSInfoPathEndPointPort" binding="tns:ServiceSoap"> <soap:address location="http://host:8080/EJB/WSInfoPath"/> </port> </service> </definitions>
While processing SOAP client request to my WebService occurres next exception:
SOAP request exception
java.lang.IllegalArgumentException: local part cannot be "null" when creating a QName at javax.xml.namespace.QName.<init>(Unknown Source) at javax.xml.namespace.QName.<init>(Unknown Source) at org.jboss.ws.binding.soap.SOAPBindingProvider.getParameterFromMessage(SOAPBindingProvider.java:787) at org.jboss.ws.binding.soap.SOAPBindingProvider.unbindRequestMessage(SOAPBindingProvider.java:282) at org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:112) at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:209) at org.jboss.ws.server.ServiceEndpointManager.processSOAPRequest(ServiceEndpointManager.java:355) at org.jboss.ws.server.StandardEndpointServlet.doPost(StandardEndpointServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.jboss.ws.server.StandardEndpointServlet.service(StandardEndpointServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595)
Maybe problem in incorrect wsdl and soap format?
I do know!!!
Maybe you know? - Then please help!!!
Thanks, Ruslan