You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/04/09 12:33:12 UTC
DO NOT REPLY [Bug 18848] New: -
Wrong WSDL generated from wrapped web service
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18848>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18848
Wrong WSDL generated from wrapped web service
Summary: Wrong WSDL generated from wrapped web service
Product: Axis
Version: 1.1rc2
Platform: Other
OS/Version: Windows NT/2K
Status: NEW
Severity: Critical
Priority: Other
Component: WSDL processing
AssignedTo: axis-dev@ws.apache.org
ReportedBy: kevinj@develop.com
I have the following Java class and WSDD file
public class Math
{
public double add(double d1, double d2)
{
return d1+d2;
}
}
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="axismaths" provider="java:RPC" style="wrapped" use="literal">
<parameter name="className" value="kevinj.Math"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
If I deploy this and then get it's WSDL, under 1.1RC2 I get this
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
targetNamespace="http://localhost/axismaths/services/axismaths"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://localhost/axismaths/services/axismaths"
xmlns:intf="http://localhost/axismaths/services/axismaths"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns1="urn:kevinj:axismath"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema targetNamespace="urn:kevinj:axismath"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="local">
<sequence/>
</complexType>
</schema>
<schema targetNamespace="" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<element name="add">
<complexType>
<sequence>
<element name="d1" type="xsd:double"/>
<element name="d2" type="xsd:double"/>
</sequence>
</complexType>
</element>
<element name="addResponse">
<complexType>
<sequence>
<element name="addReturn" type="xsd:double"/>
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="addRequest">
<wsdl:part element="add" name="parameters"/>
</wsdl:message>
<wsdl:message name="addResponse">
<wsdl:part element="addResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="Math">
<wsdl:operation name="add" parameterOrder="">
<wsdl:input message="impl:addRequest" name="addRequest"/>
<wsdl:output message="impl:addResponse" name="addResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="axismathsSoapBinding" type="impl:Math">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="add">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="addRequest">
<wsdlsoap:body
namespace="http://localhost/axismaths/services/axismaths" use="literal"/>
</wsdl:input>
<wsdl:output name="addResponse">
<wsdlsoap:body
namespace="http://localhost/axismaths/services/axismaths" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MathService">
<wsdl:port binding="impl:axismathsSoapBinding" name="axismaths">
<wsdlsoap:address
location="http://localhost/axismaths/services/axismaths"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Notice that the schema has no target namespace and that the element attributes
in the message elements are defined to be in the default namespace.
This cause code generation to fail
It appears that WSDL generation for wrapped in 1.1RC2 has the same behaviour as
document.
This works fine if I use 1.1RC1
Kevin Jones