You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Hollywood <ho...@thzero.com> on 2005/02/19 16:22:05 UTC
Document WS and nulls in parameters
Hello,
I'm generating a fairly simple web service in Axis 1.2RC2 (I've tried RC3
too) running under Tomcat 5.0X and Sun Java JRE1.5 which looks as follows:
public interface SAPSync
{
public String syncType1(String sData);
public String syncType2(String sData);
}
I apply the Java2WSDL tool as follows:
java org.apache.axis.wsdl.Java2WSDL -X"./build" -o
SAPSync.wsdl -l"http://localhost:8080/axis/services/SAPSync" -n"http://www.b
og.com/wsdl" -p"com.bog.sync.ws" "http://www.bog.com/wsdl" -yDOCUMENT
com.bog.sync.ws.SAPSync
And get the following:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.bog.com/wsdl"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://www.bog.com/wsdl" xmlns:intf="http://www.bog.com/wsdl"
xmlns:tns2="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.2RC3
Built on Feb 17, 2005 (12:11:12 PST)-->
<wsdl:types>
<schema elementFormDefault="qualified"
targetNamespace="http://www.bog.com/wsdl"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="in0" type="tns2:string"/>
<element name="syncType1Return" type="tns2:string"/>
<element name="in1" type="tns2:string"/>
<element name="syncType2Return" type="tns2:string"/>
</schema>
</wsdl:types>
<wsdl:message name="syncType2Response">
<wsdl:part element="impl:syncType2Return" name="syncType2Return"/>
</wsdl:message>
<wsdl:message name="syncType2Request">
<wsdl:part element="impl:in1" name="in0"/>
</wsdl:message>
<wsdl:message name="syncType1Response">
<wsdl:part element="impl:syncType1Return" name="syncType1Return"/>
</wsdl:message>
<wsdl:message name="syncType1Request">
<wsdl:part element="impl:in0" name="in0"/>
</wsdl:message>
<wsdl:portType name="SAPSync">
<wsdl:operation name="syncType1" parameterOrder="in0">
<wsdl:input message="impl:syncType1Request"
name="syncType1Request"/>
<wsdl:output message="impl:syncType1Response"
name="syncType1Response"/>
</wsdl:operation>
<wsdl:operation name="syncType2" parameterOrder="in0">
<wsdl:input message="impl:syncType2Request"
name="syncType2Request"/>
<wsdl:output message="impl:syncType2Response"
name="syncType2Response"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SAPSyncSoapBinding" type="impl:SAPSync">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="syncType1">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="syncType1Request">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="syncType1Response">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="syncType2">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="syncType2Request">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="syncType2Response">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SAPSyncService">
<wsdl:port binding="impl:SAPSyncSoapBinding" name="SAPSync">
<wsdlsoap:address
location="http://localhost:8080/axis/services/SAPSync"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Which looks to be fine.
Then I called the WSDL2Java like:
rmdir /S .\src\service\com
java org.apache.axis.wsdl.WSDL2Java -o "./src/service" -d Session -s -S
true -N"http://www.bog.com/wsdl" com.bog.sync.ws SAPSync.wsdl
Compile and deploy with the admin tool:
java org.apache.axis.client.AdminClient deploy.wsdd
Attempting to consume the webservice, after rebooting Tomcat, I always
receive a 'null' value for the second parameter when the web service
executes. This occurs with both a Java client and a .NET client!
How do I go about correcting the issue?