Bugs item #1089017, was opened at 2004-12-21 13:18 Message generated for change (Comment added) made by ektak You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=1089017&group_id=22866
Category: JBossWS Group: None Status: Open Resolution: None Priority: 9 Submitted By: Ekta (ektak) Assigned to: Thomas Diesler (tdiesler) Summary: ERROR org.jboss.webservice.client.PortProxy[main] - Port err Initial Comment: Hi, I am using jbossws with jboss 4.0.0 version. Problem :- in ServiceEndpointInterface if i use only one argument(either primitive data type or Custom data type like array of custom bean) it works fine. but when i am using two argument in a method of ServiceEndpointInterface then it is giving me following error [mkdir] Created dir: D:\Ekta\Projects\jboss- ws4ee\jbossws-21-Dec-2004\test\test-1\src- original\output-samples\reports [junit] Running com.myapp.ekta.HelloWorldTestCase [junit] 2004-12-21 18:20:24,449 ERROR org.jboss.webservice.client.PortProxy[main] - Port error [junit] java.lang.NullPointerException [junit] at org.apache.axis.client.AxisClientProxy.proxyParams2CallPa rams(AxisClientProxy.java:130) [junit] at org.apache.axis.client.AxisClientProxy.invoke (AxisClientProxy.java:249) [junit] at $Proxy2.echoHelloArr(Unknown Source) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) [junit] at java.lang.reflect.Method.invoke (Method.java:324) [junit] at org.jboss.webservice.client.PortProxy.invoke (PortProxy.java:93) [junit] at $Proxy2.echoHelloArr(Unknown Source) [junit] at com.myapp.ekta.HelloWorldTestCase.testHelloArray (HelloWorldTestCase.java:50) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) [junit] at java.lang.reflect.Method.invoke (Method.java:324) [junit] at junit.framework.TestCase.runTest (TestCase.java:154) [junit] at junit.framework.TestCase.runBare (TestCase.java:127) [junit] at junit.framework.TestResult$1.protect (TestResult.java:106) [junit] at junit.framework.TestResult.runProtected (TestResult.java:124) [junit] at junit.framework.TestResult.run (TestResult.java:109) [junit] at junit.framework.TestCase.run (TestCase.java:118) [junit] at junit.framework.TestSuite.runTest (TestSuite.java:208) [junit] at junit.framework.TestSuite.run (TestSuite.java:203) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRun ner.run(JUnitTestRunner.java:325) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRun ner.main(JUnitTestRunner.java:536) [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 4.219 sec [junit] TEST com.myapp.ekta.HelloWorldTestCase FAILED Description :- like in my HelloOrderEndpoint.java when i used only one argument public HelloArray echoHelloArr(HelloArray helloArr) throws java.rmi.RemoteException; -------------- > it works fine. but when i just add one more string parameter eg : public HelloArray echoHelloArr(HelloArray helloArr, String str) throws java.rmi.RemoteException; it is giving me ERROR "org.jboss.webservice.client.PortProxy[main] - Port error" /***************************************/ Hello.java :- =========== package com.myapp.ekta; public class Hello { private String helloID; private String helloName; private String helloAddress; public String getHelloID() { return helloID; } public void setHelloID(String helloID) { this.helloID = helloID; } public String getHelloAddress() { return helloAddress; } public void setHelloAddress(String helloAddress) { this.helloAddress = helloAddress; } public String getHelloName() { return helloName; } public void setHelloName(String helloName) { this.helloName = helloName; } public int hashCode() { return toString().hashCode(); } public boolean equals(Object obj) { return toString().equals("" + obj); } public String toString() { return "[cuid=" + helloID + ",name=" + helloName + ",address=" + helloAddress + "]"; } } /***************************************/ HelloArray.java :- =============================== package com.myapp.ekta; import java.util.Arrays; public class HelloArray { private Hello[] helloArray; public Hello[] getHelloArray() { return helloArray; } public void setHelloArray(Hello[] helloArray) { this.helloArray = helloArray; } public int hashCode() { return toString().hashCode(); } public boolean equals(Object obj) { return toString().equals("" + obj); } public String toString() { return (helloArray != null ? Arrays.asList (helloArray).toString() : "[]"); } } /***************************************/ HelloOrderEndpoint.java :- ======================== package com.myapp.ekta; public interface HelloOrderEndpoint extends java.rmi.Remote { public HelloArray echoHelloArr(HelloArray helloArr, String str) throws java.rmi.RemoteException; } /***************************************/ HelloOrderService.java :- ================ package com.myapp.ekta; import javax.xml.rpc.*; import javax.xml.rpc.server.ServiceLifecycle; import java.rmi.RemoteException; public class HelloOrderService implements HelloOrderEndpoint, ServiceLifecycle { public HelloArray echoHelloArr(HelloArray helloArray, String str)throws RemoteException { System.out.println("echoHelloArr: " + helloArray); return helloArray; } public void init(Object arg0) throws ServiceException { // TODO Auto-generated method stub } /* (non-Javadoc) * @see javax.xml.rpc.server.ServiceLifecycle#destroy () */ public void destroy() { // TODO Auto-generated method stub } } /***************************************/ HelloOrderService.wsdl :- ===================== <?xml version="1.0" encoding="UTF-8"?> <definitions name="HelloOrderService" targetNamespace="http://myapp.com/ekta" xmlns:tns="http://myapp.com/ekta" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://myapp.com/ekta/types" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <types> <schema targetNamespace="http://myapp.com/ekta/types" xmlns:tns="http://myapp.com/ekta/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="echoHelloArr"> <sequence> <element name="HelloArray_1" type="tns:HelloArray" nillable="true"/> <element name="String_2" type="string" nillable="true"/> </sequence> </complexType> <complexType name="HelloArray"> <sequence> <element name="helloArray" type="tns:Hello" nillable="true" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> <complexType name="Hello"> <sequence> <element name="helloAddress" type="string" nillable="true"/> <element name="helloID" type="string" nillable="true"/> <element name="helloName" type="string" nillable="true"/> </sequence> </complexType> <complexType name="echoHelloArrResponse"> <sequence> <element name="result" type="tns:HelloArray" nillable="true"/> </sequence> </complexType> <element name="echoHelloArr" type="tns:echoHelloArr"/> <element name="echoHelloArrResponse" type="tns:echoHelloArrResponse"/> </schema> </types> <message name="HelloOrderEndpoint_echoHelloArr"> <part name="parameters" element="ns2:echoHelloArr"/> </message> <message name="HelloOrderEndpoint_echoHelloArrResponse"> <part name="result" element="ns2:echoHelloArrResponse"/> </message> <portType name="HelloOrderEndpoint"> <operation name="echoHelloArr"> <input message="tns:HelloOrderEndpoint_echoHelloArr"/> <output message="tns:HelloOrderEndpoint_echoHelloArrResponse"/ > </operation> </portType> <binding name="HelloOrderEndpointBinding" type="tns:HelloOrderEndpoint"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="echoHelloArr"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation </binding> <service name="HelloOrderService"> <port name="HelloOrderEndpointPort" binding="tns:HelloOrderEndpointBinding"> <soap:address location="http://localhost:8070/samples- complexbean/HelloOrderService"/> </port> </service </definitions> /***************************************/ application.xml :- ================== <?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4"> <display-name>webservice client test</display-name> <module> <java>samples-complexbean-client.jar</java> </module> <module> <java>samples-complexbean.war</java> </module> </application> /***************************************/ application-client.xml :- ======================= <?xml version="1.0" encoding="UTF-8"?> <application-client xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application- client_1_4.xsd" version="1.4"> <display-name>webservice client app</display-name> <service-ref> <service-ref-name>HelloOrderService</service-ref- name> <service-interface>javax.xml.rpc.Service</service- interface> <wsdl-file>META- INF/wsdl/HelloOrderService.wsdl</wsdl-file> <jaxrpc-mapping-file>META-INF/jaxrpc- mapping.xml</jaxrpc-mapping-file> </service-ref> </application-client> /***************************************/ jaxrpc-mapping.xml :- ======================== <?xml version="1.0" encoding="UTF-8"?> <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:impl="http://myapp.com/ekta" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mappi ng_1_1.xsd" version="1.1"> <package-mapping> <package-type>com.myapp.ekta</package-type> <namespaceURI>http://myapp.com/ekta</namespaceURI > </package-mapping> <package-mapping> <package-type>com.myapp.ekta</package-type> <namespaceURI>http://myapp.com/ekta/types</namesp aceURI> </package-mapping> </java-wsdl-mapping> /***************************************/ jboss-client.xml :- ================= <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE jboss-client PUBLIC "-//JBoss//DTD Application Client 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-client_3_2.dtd"> <jboss-client> <jndi-name>ws4ee-client</jndi-name> </jboss-client> /***************************************/ jboss-web.xml :- ============= <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.2//EN" "http://www.jboss.org/j2ee/dtd/jboss- web.dtd"> <jboss-web> <context-root>/samples-complexbean</context-root> </jboss-web> /***************************************/ web.xml:- ============= <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>HelloOrderService</servlet-name> <servlet- class>com.myapp.ekta.HelloOrderService</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloOrderService</servlet-name> <url-pattern>/HelloOrderService</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> /***************************************/ webservices.xml:- ================ <?xml version="1.0" encoding="UTF-8"?> <webservices xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:impl="http://org.jboss.webservice/complexbean" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services _1_1.xsd" version="1.1"> <webservice-description> <webservice-description- name>HelloOrderService</webservice-description-name> <wsdl-file>WEB- INF/wsdl/HelloOrderService.wsdl</wsdl-file> <jaxrpc-mapping-file>WEB-INF/jaxrpc- mapping.xml</jaxrpc-mapping-file> <port-component> <port-component-name>HelloOrder</port- component-name> <wsdl-port>HelloOrderEndpointPort</wsdl-port> <service-endpoint- interface>com.myapp.ekta.HelloOrderEndpoint</service- endpoint-interface> <service-impl-bean> <servlet-link>HelloOrderService</servlet-link> </service-impl-bean> </port-component> </webservice-description> </webservices> /***************************************/ ws4ee-deployment.xml:- ====================== <deployment xmlns='http://xml.apache.org/axis/wsdd/' xmlns:java='http://xml.apache.org/axis/wsdd/providers/ja va' xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsi='http://www.w3.org/2000/10/XMLSchema- instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <typeMapping qname='ns2:echoHello' xmlns:ns2='http://myapp.com/ekta/types' type='java:com.myapp.ekta.Hello' serializer='org.apache.axis.encoding.ser.BeanSerializerFac tory' deserializer='org.apache.axis.encoding.ser.BeanDeserialize rFactory' encodingStyle=''> </typeMapping> <typeMapping qname='ns2:echoHelloResponse' xmlns:ns2='http://myapp.com/ekta/types' type='java:com.myapp.ekta.Hello' serializer='org.apache.axis.encoding.ser.BeanSerializerFac tory' deserializer='org.apache.axis.encoding.ser.BeanDeserialize rFactory' encodingStyle=''> </typeMapping> <typeMapping qname='ns2:echoHelloArr' xmlns:ns2='http://myapp.com/ekta/types' type='java:com.myapp.ekta.HelloArray' serializer='org.apache.axis.encoding.ser.BeanSerializerFac tory' deserializer='org.apache.axis.encoding.ser.BeanDeserialize rFactory' encodingStyle=''> </typeMapping> <typeMapping qname='ns2:String_2' xmlns:ns2='http://myapp.com/ekta/types' type='java:java.lang.String' serializer='org.apache.axis.encoding.ser.BeanSerializerFac tory' deserializer='org.apache.axis.encoding.ser.BeanDeserialize rFactory' encodingStyle=''> </typeMapping> <typeMapping qname='ns2:echoHelloArrResponse' xmlns:ns2='http://myapp.com/ekta/types' type='java:com.myapp.ekta.HelloArray' serializer='org.apache.axis.encoding.ser.BeanSerializerFac tory' deserializer='org.apache.axis.encoding.ser.BeanDeserialize rFactory' encodingStyle=''> </typeMapping> </deployment> ========================================== ========================================== == do i need to add somrthing extra in ws4ee- deployment.xml for one more string argument? ---------------------------------------------------------------------- >Comment By: Ekta (ektak) Date: 2004-12-23 14:06 Message: Logged In: YES user_id=1162338 from this URL http://www.jboss.org/?module=bb&op=viewtopic&t=57625 i found that this is a bug in Jboss 4.0.0 and it is recommended in the url to use Jboss 4.0.1 RC2 So i used Jboss 4.0.1 RC2 but it is throwing same Exception on the new version of Jboss also. ---------------------------------------------------------------------- Comment By: Ekta (ektak) Date: 2004-12-21 13:43 Message: Logged In: YES user_id=1162338 I have added full helloworld application of mine as a zip. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=1089017&group_id=22866 ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development