- 
        1. Re: Examplesthomas.diesler May 2, 2006 9:08 AM (in response to grahambrown11)What page are you refering to? The old wiki content is preserved for backward compatibility. 
- 
        2. Re: Examplesgrahambrown11 May 2, 2006 9:18 AM (in response to grahambrown11)The "JBoss Admin & Developers Guide" chapter 12 
 Is there any documentation on how to use WSTools?
 I wish to create classes from a WSDL (i.e. WSDLToJava)
 I had an issue in the old axis impl, I got a NullPointerException when the namespace in the "types" was "urn:sap-com:document:sap:rfc:functions"
 so I am trying this new ws impl
- 
        3. Re: Examplesthomas.diesler May 3, 2006 3:02 AM (in response to grahambrown11)If this is jbossws-1.0.0.GA, I'd like to see the stacktrace 
- 
        4. Re: Examplesgrahambrown11 May 5, 2006 2:10 AM (in response to grahambrown11)Here is the stacktrace you asked for 
 javax.xml.rpc.ServiceException: java.lang.NullPointerException
 at org.jboss.webservice.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:135)
 at coza.healthbridge.netcare.client.TestClient.netcareSimpleTest(TestClient.java:127)
 at coza.healthbridge.netcare.client.TestClient.main(TestClient.java:282)
 Caused by: java.lang.NullPointerException
 at java.util.StringTokenizer.<init>(Unknown Source)
 at java.util.StringTokenizer.<init>(Unknown Source)
 at org.jboss.webservice.deployment.ServiceDescription.getPackageName(ServiceDescription.java:947)
 at org.jboss.webservice.deployment.ServiceDescription.initTypeMappings(ServiceDescription.java:894)
 at org.jboss.webservice.deployment.ServiceDescription.initServiceDescription(ServiceDescription.java:141)
 at org.jboss.webservice.deployment.ServiceDescription.<init>(ServiceDescription.java:108)
 at org.jboss.webservice.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:130)
 ... 2 more
 here is the WSDL
 <?xml version="1.0" encoding="UTF-8"?>
 <wsdl:definitions name="SynchronousSoapReceiver" targetNamespace="http://netcare.co.za/xi/switchtonetcare" xmlns:rfc="urn:sap-com:document:sap:rfc:functions" xmlns:p1="http://netcare.co.za/xi/switchtonetcare" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
 <wsdl:types>
 <xsd:schema targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns="urn:sap-com:document:sap:rfc:functions" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="Z_SOAP_ECHOSERVICE.Response">
 <xsd:complexType>
 <xsd:all>
 <xsd:element name="DATAOUT" minOccurs="0">
 <xsd:simpleType>
 <xsd:restriction base="xsd:string">
 <xsd:maxLength value="32000"/>
 </xsd:restriction>
 </xsd:simpleType>
 </xsd:element>
 </xsd:all>
 </xsd:complexType>
 </xsd:element>
 <xsd:element name="Z_SOAP_ECHOSERVICE">
 <xsd:complexType>
 <xsd:all>
 <xsd:element name="DATAIN">
 <xsd:simpleType>
 <xsd:restriction base="xsd:string">
 <xsd:maxLength value="32000"/>
 </xsd:restriction>
 </xsd:simpleType>
 </xsd:element>
 </xsd:all>
 </xsd:complexType>
 </xsd:element>
 </xsd:schema>
 </wsdl:types>
 <wsdl:message name="rfc.Z_SOAP_ECHOSERVICE.Input">
 <wsdl:part name="parameters" element="rfc:Z_SOAP_ECHOSERVICE" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
 </wsdl:message>
 <wsdl:message name="rfc.Z_SOAP_ECHOSERVICE.Output">
 <wsdl:part name="parameters" element="rfc:Z_SOAP_ECHOSERVICE.Response" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
 </wsdl:message>
 <wsdl:portType name="SynchronousSoapReceiver">
 <wsdl:operation name="SynchronousSoapReceiver">
 <wsdl:input message="p1:rfc.Z_SOAP_ECHOSERVICE.Input"/>
 <wsdl:output message="p1:rfc.Z_SOAP_ECHOSERVICE.Output"/>
 </wsdl:operation>
 </wsdl:portType>
 <wsdl:binding name="SynchronousSoapReceiverBinding" type="p1:SynchronousSoapReceiver" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
 <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
 <wsdl:operation name="SynchronousSoapReceiver">
 <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
 <wsdl:input>
 <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
 </wsdl:input>
 <wsdl:output>
 <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
 </wsdl:output>
 </wsdl:operation>
 </wsdl:binding>
 <wsdl:service name="SynchronousSoapReceiverService">
 <wsdl:port name="SynchronousSoapReceiverPort" binding="p1:SynchronousSoapReceiverBinding" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
 <soap:address
 location="http://ntcdxi01:50100/XISOAPAdapter/MessageServlet?channel=:DXI_Client_400:SynchronousWebService&version=3.0&Sender.Service=DXI_Client_400&Interface=http%3A%2F%2Fnetcare.co.za%2Fxi%2Fswitchtonetcare%5ESynchronousSoapReceiver"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
 </wsdl:port>
 </wsdl:service>
 </wsdl:definitions>
 here is my codeQName service = new QName("http://netcare.co.za/xi/switchtonetcare", "SynchronousSoapReceiverService"); QName port = new QName("http://netcare.co.za/xi/switchtonetcare", "SynchronousSoapReceiverPort"); QName operation = new QName("SynchronousSoapReceiver"); QName arg = new QName("urn:sap-com:document:sap:rfc:functions"); URL wsdlUrl = new URL("file:///D:/SynchronousSoapReceiver.wsdl"); ServiceFactory factory = ServiceFactory.newInstance(); Service service = factory.createService(wsdlUrl, service); Call call = service.createCall(port, operation); Object oRet = call.invoke(new Object[] { getDoc().getDocumentElement() });
- 
        5. Re: Examplesgrahambrown11 May 5, 2006 2:32 AM (in response to grahambrown11)the code shlould be QName serviceQN = new QName("http://netcare.co.za/xi/switchtonetcare", "SynchronousSoapReceiverService"); QName port = new QName("http://netcare.co.za/xi/switchtonetcare", "SynchronousSoapReceiverPort"); QName operation = new QName("SynchronousSoapReceiver"); QName arg = new QName("urn:sap-com:document:sap:rfc:functions"); URL wsdlUrl = new URL("file:///D:/SynchronousSoapReceiver.wsdl"); ServiceFactory factory = ServiceFactory.newInstance(); Service service = factory.createService(wsdlUrl, serviceQN); Call call = service.createCall(port, operation); Object oRet = call.invoke(new Object[] { getDoc().getDocumentElement() });
 The last one had 2 varables with the same name "service"
- 
        6. Re: Examplesthomas.diesler May 9, 2006 3:51 AM (in response to grahambrown11)From the stacktrace it does not seem to be jbossws-1.0.0.GA. jbossws uses org.jboss.ws not org.jboss.webservice. 
- 
        7. Re: Examplesgrahambrown11 May 16, 2006 4:45 AM (in response to grahambrown11)Sorry I thought I had updated my classpath. 
 I now get a new error stacktrace bellow:
 2006-05-16 09:56:06,314 [main] DEBUG org.jboss.ws.soap.MessageContextAssociation
 (52) - popMessageContext: org.jboss.ws.soap.SOAPMessageContextImpl@14c194d
 java.rmi.RemoteException: Call invocation failed: String index out of range: -54
 ; nested exception is:
 java.lang.StringIndexOutOfBoundsException: String index out of range: -5
 4
 at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:727)
 at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:405)
 at coza.healthbridge.netcare.client.TestClient.netcareSimpleTest(TestCli
 ent.java:137)
 at coza.healthbridge.netcare.client.TestClient.main(TestClient.java:282)
 Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range:
 -54
 at java.lang.String.substring(Unknown Source)
 at org.jboss.remoting.InvokerLocator.<init>(InvokerLocator.java:155)
 at org.jboss.ws.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:119
 )
 at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:697)
 ... 3 more
 Seems to not like the location URL. If I use a SOAPConnection I get the same error, When I roll back to the JBoss-4.0.3 classpath it works...
- 
        8. Re: Examplesthomas.diesler May 22, 2006 7:14 AM (in response to grahambrown11)Is this the location URL? http://ntcdxi01:50100/XISOAPAdapter/MessageServlet?channel=:DXI_Client_400:SynchronousWebService&version=3.0&Sender.Service=DXI_Client_400&Interface=http%3A%2F%2Fnetcare.co.za%2Fxi%2Fswitchtonetcare%5ESynchronousSoapReceiver 
- 
        9. Re: Examplesgrahambrown11 May 24, 2006 6:16 AM (in response to grahambrown11)Yip, I found a work around. I had to modify the WSDL and change the URL 
 The ':' characters were the problem, I encoded them (%3A)
 URL is nowhttp://ntcdxi01:50100/XISOAPAdapter/MessageServlet?channel=%3ADXI_Client_400%3ASynchronousWebService&version=3.0&Sender.Service=DXI_Client_400&Interface=http%3A%2F%2Fnetcare.co.za%2Fxi%2Fswitchtonetcare%5ESynchronousSoapReceiver 
 
    