I am trying to create a doc/lit webservice. I was successful in getting the service running and testing it using a .net c# test client. However, when I create an additional method in the SEI that accepts array argument, it starts giving an exception such as the one below.
Any help will be appreciated. I am using JBOSS 4.0.2 default config. Is there something fundamentally wrong in what i am doing? | 17:04:10,353 FATAL [InternalException] Exception: | java.lang.Exception: Couldn't find a matching Java operation for WSDD operation "sayHelloManyTimes" (1 args) | at org.jboss.axis.InternalException.<init>(InternalException.java:106) | at org.jboss.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:992) | at org.jboss.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:732) | at org.jboss.webservice.server.InvokerProvider.initServiceDesc(InvokerProvider.java:95) | at org.jboss.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:388) | at org.jboss.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:560) | at org.jboss.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:322) | at org.jboss.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:307) | at org.jboss.axis.deployment.wsdd.WSDDDeployment.getService(WSDDDeployment.java:526) | at org.jboss.axis.configuration.FileProvider.getService(FileProvider.java:288) | at org.jboss.axis.AxisEngine.getService(AxisEngine.java:253) | at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:58) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) | at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370) | 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:81) | 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.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153) | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) | 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:856) | at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) | 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:534) | 17:04:10,353 INFO [AxisServlet] Exception: | org.jboss.axis.InternalException: java.lang.Exception: Couldn't find a matching Java operation for WSDD operation "sayHelloManyTimes" (1 args) | at org.jboss.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:992) | at org.jboss.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:732) | at org.jboss.webservice.server.InvokerProvider.initServiceDesc(InvokerProvider.java:95) | at org.jboss.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:388) | at org.jboss.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:560) | at org.jboss.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:322) | at org.jboss.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:307) | at org.jboss.axis.deployment.wsdd.WSDDDeployment.getService(WSDDDeployment.java:526) | at org.jboss.axis.configuration.FileProvider.getService(FileProvider.java:288) | at org.jboss.axis.AxisEngine.getService(AxisEngine.java:253) | at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:58) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) | at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370) | 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:81) | 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.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153) | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) | 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:856) | at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) | 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:534) | I then created a wrapper type for the array and I am still facing the same problem. I am attaching the SEI, wsdl and mapping generated using wscompile SEI | package com.hp.ws.service; | | import java.rmi.Remote; | | public interface TimeEndPoint extends Remote { | public java.lang.String getTime() throws java.rmi.RemoteException; | | public String sayHello(com.hp.ws.service.ServiceInput in) throws java.rmi.RemoteException; | | public String sayHelloManyTimes(com.hp.ws.service.ServiceInputArray in) throws java.rmi.RemoteException; | | } | | WSDL | | <?xml version="1.0" encoding="UTF-8"?> | | <definitions name="TimeService" targetNamespace="http://com.hp.ws/service" xmlns:tns="http://com.hp.ws/service" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://com.hp.ws/service/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> | <types> | <schema targetNamespace="http://com.hp.ws/service/types" xmlns:tns="http://com.hp.ws/service/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema"> | <complexType name="getTime"> | <sequence/></complexType> | <complexType name="getTimeResponse"> | <sequence> | <element name="result" type="string" nillable="true"/></sequence></complexType> | <complexType name="sayHello"> | <sequence> | <element name="ServiceInput_1" type="tns:ServiceInput" nillable="true"/></sequence></complexType> | <complexType name="ServiceInput"> | <sequence> | <element name="age" type="int"/> | <element name="name" type="string" nillable="true"/></sequence></complexType> | <complexType name="sayHelloResponse"> | <sequence> | <element name="result" type="string" nillable="true"/></sequence></complexType> | <complexType name="sayHelloManyTimes"> | <sequence> | <element name="ServiceInputArray_1" type="tns:ServiceInputArray" nillable="true"/></sequence></complexType> | <complexType name="ServiceInputArray"> | <sequence> | <element name="inp" type="tns:ServiceInput" nillable="true" minOccurs="0" maxOccurs="unbounded"/> | <element name="name" type="string" nillable="true"/></sequence></complexType> | <complexType name="sayHelloManyTimesResponse"> | <sequence> | <element name="result" type="string" nillable="true"/></sequence></complexType> | <element name="getTime" type="tns:getTime"/> | <element name="getTimeResponse" type="tns:getTimeResponse"/> | <element name="sayHello" type="tns:sayHello"/> | <element name="sayHelloResponse" type="tns:sayHelloResponse"/> | <element name="sayHelloManyTimes" type="tns:sayHelloManyTimes"/> | <element name="sayHelloManyTimesResponse" type="tns:sayHelloManyTimesResponse"/></schema></types> | <message name="TimeEndPoint_getTime"> | <part name="parameters" element="ns2:getTime"/></message> | <message name="TimeEndPoint_getTimeResponse"> | <part name="result" element="ns2:getTimeResponse"/></message> | <message name="TimeEndPoint_sayHello"> | <part name="parameters" element="ns2:sayHello"/></message> | <message name="TimeEndPoint_sayHelloResponse"> | <part name="result" element="ns2:sayHelloResponse"/></message> | <message name="TimeEndPoint_sayHelloManyTimes"> | <part name="parameters" element="ns2:sayHelloManyTimes"/></message> | <message name="TimeEndPoint_sayHelloManyTimesResponse"> | <part name="result" element="ns2:sayHelloManyTimesResponse"/></message> | <portType name="TimeEndPoint"> | <operation name="getTime"> | <input message="tns:TimeEndPoint_getTime"/> | <output message="tns:TimeEndPoint_getTimeResponse"/></operation> | <operation name="sayHello"> | <input message="tns:TimeEndPoint_sayHello"/> | <output message="tns:TimeEndPoint_sayHelloResponse"/></operation> | <operation name="sayHelloManyTimes"> | <input message="tns:TimeEndPoint_sayHelloManyTimes"/> | <output message="tns:TimeEndPoint_sayHelloManyTimesResponse"/></operation></portType> | <binding name="TimeEndPointBinding" type="tns:TimeEndPoint"> | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> | <operation name="getTime"> | <soap:operation soapAction=""/> | <input> | <soap:body use="literal"/></input> | <output> | <soap:body use="literal"/></output></operation> | <operation name="sayHello"> | <soap:operation soapAction=""/> | <input> | <soap:body use="literal"/></input> | <output> | <soap:body use="literal"/></output></operation> | <operation name="sayHelloManyTimes"> | <soap:operation soapAction=""/> | <input> | <soap:body use="literal"/></input> | <output> | <soap:body use="literal"/></output></operation></binding> | <service name="TimeService"> | <port name="TimeEndPointPort" binding="tns:TimeEndPointBinding"> | <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions> | | THe mapping | <?xml version="1.0" encoding="UTF-8"?> | <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" | xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"> | <package-mapping> | <package-type>com.hp.ws.service</package-type> | <namespaceURI>http://com.hp.ws/service/types</namespaceURI> | </package-mapping> | <package-mapping> | <package-type>com.hp.ws.service</package-type> | <namespaceURI>http://com.hp.ws/service</namespaceURI> | </package-mapping> | <java-xml-type-mapping> | <java-type>com.hp.ws.service.ServiceInput</java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:ServiceInput | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>age</java-variable-name> | <xml-element-name>age</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>name</java-variable-name> | <xml-element-name>name</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type> | com.hp.ws.service.TimeEndPoint_sayHelloManyTimes_ResponseStruct | </java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:sayHelloManyTimesResponse | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>result</java-variable-name> | <xml-element-name>result</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type> | com.hp.ws.service.TimeEndPoint_sayHelloManyTimes_RequestStruct | </java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:sayHelloManyTimes | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>ServiceInputArray_1</java-variable-name> | <xml-element-name>ServiceInputArray_1</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type> | com.hp.ws.service.TimeEndPoint_getTime_RequestStruct | </java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:getTime | </root-type-qname> | <qname-scope>complexType</qname-scope> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>com.hp.ws.service.ServiceInputArray</java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:ServiceInputArray | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>inp</java-variable-name> | <xml-element-name>inp</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>name</java-variable-name> | <xml-element-name>name</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type> | com.hp.ws.service.TimeEndPoint_sayHello_RequestStruct | </java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:sayHello | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>ServiceInput_1</java-variable-name> | <xml-element-name>ServiceInput_1</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type> | com.hp.ws.service.TimeEndPoint_getTime_ResponseStruct | </java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:getTimeResponse | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>result</java-variable-name> | <xml-element-name>result</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type> | com.hp.ws.service.TimeEndPoint_sayHello_ResponseStruct | </java-type> | <root-type-qname | xmlns:typeNS="http://com.hp.ws/service/types"> | typeNS:sayHelloResponse | </root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>result</java-variable-name> | <xml-element-name>result</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <service-interface-mapping> | <service-interface> | com.hp.ws.service.TimeService | </service-interface> | <wsdl-service-name xmlns:serviceNS="http://com.hp.ws/service"> | serviceNS:TimeService | </wsdl-service-name> | <port-mapping> | <port-name>TimeEndPointPort</port-name> | <java-port-name>TimeEndPointPort</java-port-name> | </port-mapping> | </service-interface-mapping> | <service-endpoint-interface-mapping> | <service-endpoint-interface> | com.hp.ws.service.TimeEndPoint | </service-endpoint-interface> | <wsdl-port-type xmlns:portTypeNS="http://com.hp.ws/service"> | portTypeNS:TimeEndPoint | </wsdl-port-type> | <wsdl-binding xmlns:bindingNS="http://com.hp.ws/service"> | bindingNS:TimeEndPointBinding | </wsdl-binding> | <service-endpoint-method-mapping> | <java-method-name>getTime</java-method-name> | <wsdl-operation>getTime</wsdl-operation> | <wrapped-element /> | <wsdl-return-value-mapping> | <method-return-value> | java.lang.String | </method-return-value> | <wsdl-message | xmlns:wsdlMsgNS="http://com.hp.ws/service"> | wsdlMsgNS:TimeEndPoint_getTimeResponse | </wsdl-message> | <wsdl-message-part-name>result</wsdl-message-part-name> | </wsdl-return-value-mapping> | </service-endpoint-method-mapping> | <service-endpoint-method-mapping> | <java-method-name>sayHello</java-method-name> | <wsdl-operation>sayHello</wsdl-operation> | <wrapped-element /> | <method-param-parts-mapping> | <param-position>0</param-position> | <param-type>com.hp.ws.service.ServiceInput</param-type> | <wsdl-message-mapping> | <wsdl-message | xmlns:wsdlMsgNS="http://com.hp.ws/service"> | wsdlMsgNS:TimeEndPoint_sayHello | </wsdl-message> | <wsdl-message-part-name> | ServiceInput_1 | </wsdl-message-part-name> | <parameter-mode>IN</parameter-mode> | </wsdl-message-mapping> | </method-param-parts-mapping> | <wsdl-return-value-mapping> | <method-return-value> | java.lang.String | </method-return-value> | <wsdl-message | xmlns:wsdlMsgNS="http://com.hp.ws/service"> | wsdlMsgNS:TimeEndPoint_sayHelloResponse | </wsdl-message> | <wsdl-message-part-name>result</wsdl-message-part-name> | </wsdl-return-value-mapping> | </service-endpoint-method-mapping> | <service-endpoint-method-mapping> | <java-method-name>sayHelloManyTimes</java-method-name> | <wsdl-operation>sayHelloManyTimes</wsdl-operation> | <wrapped-element /> | <method-param-parts-mapping> | <param-position>0</param-position> | <param-type> | com.hp.ws.service.ServiceInputArray | </param-type> | <wsdl-message-mapping> | <wsdl-message | xmlns:wsdlMsgNS="http://com.hp.ws/service"> | wsdlMsgNS:TimeEndPoint_sayHelloManyTimes | </wsdl-message> | <wsdl-message-part-name> | ServiceInputArray_1 | </wsdl-message-part-name> | <parameter-mode>IN</parameter-mode> | </wsdl-message-mapping> | </method-param-parts-mapping> | <wsdl-return-value-mapping> | <method-return-value> | java.lang.String | </method-return-value> | <wsdl-message | xmlns:wsdlMsgNS="http://com.hp.ws/service"> | wsdlMsgNS:TimeEndPoint_sayHelloManyTimesResponse | </wsdl-message> | <wsdl-message-part-name>result</wsdl-message-part-name> | </wsdl-return-value-mapping> | </service-endpoint-method-mapping> | </service-endpoint-interface-mapping> | </java-wsdl-mapping> | | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3890724#3890724 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3890724 ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user