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/05/21 12:10:38 UTC
DO NOT REPLY [Bug 20107] New: -
WSDL generation incomplete/incorrect on services with java:MSG provider
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=20107>.
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=20107
WSDL generation incomplete/incorrect on services with java:MSG provider
Summary: WSDL generation incomplete/incorrect on services with
java:MSG provider
Product: Axis
Version: 1.0-rc2
Platform: PC
OS/Version: Windows NT/2K
Status: NEW
Severity: Normal
Priority: Other
Component: WSDL processing
AssignedTo: axis-dev@ws.apache.org
ReportedBy: rjelli@hotmail.com
The service presents a message-based style of interface, with the following
signature:
public org.w3c.dom.Document handleOrder(org.w3c.dom.Document anOrder) {
...
}
It is deployed using the following wsdd descriptor:
<service name="OrderingService" provider="java:MSG">
<parameter name="className" value="com.tmme.dos.services.OrderingService"/>
<parameter name="allowedMethods" value="handleOrder"/>
</service>
The service can be accessed and works fine, but the generated WSDL file cannot
be used by WSDL2Java to produce java code. When tested with the 1.0 release, it
works fine.
See here after the wsdl generated, and the WSDL2Java stack trace:
WSDL produced by 1.1 RC2:
-------------------------
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions
targetNamespace="http://localhost:8080/DOSWebServices/services/OrderingService"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://localhost:8080/DOSWebServices/services/OrderingService"
xmlns:intf="http://localhost:8080/DOSWebServices/services/OrderingService"
xmlns:soapenc="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:types>
- <schema targetNamespace="" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<element name="handleOrder" type="xsd:anyType" />
<element name="handleOrderReturn" type="xsd:anyType" />
</schema>
</wsdl:types>
- <wsdl:message name="handleOrderResponse">
<wsdl:part element="handleOrderReturn" name="handleOrderReturn" />
</wsdl:message>
- <wsdl:message name="handleOrderRequest">
<wsdl:part element="handleOrder" name="part" />
</wsdl:message>
- <wsdl:portType name="OrderingService">
- <wsdl:operation name="handleOrder">
<wsdl:input message="intf:handleOrderRequest" name="handleOrderRequest" />
<wsdl:output message="intf:handleOrderResponse" name="handleOrderResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="OrderingServiceSoapBinding" type="intf:OrderingService">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="handleOrder">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="handleOrderRequest">
<wsdlsoap:body
namespace="http://localhost:8080/DOSWebServices/services/OrderingService"
use="literal" />
</wsdl:input>
- <wsdl:output name="handleOrderResponse">
<wsdlsoap:body
namespace="http://localhost:8080/DOSWebServices/services/OrderingService"
use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="OrderingServiceService">
- <wsdl:port binding="intf:OrderingServiceSoapBinding" name="OrderingService">
<wsdlsoap:address
location="http://localhost:8080/DOSWebServices/services/OrderingService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Stack trace of WSDL2Java:
-------------------------
C:\>java org.apache.axis.wsdl.WSDL2Java
http://localhost:8080/DOSWebServices/services/OrderingService?wsdl
java.io.IOException: Element {http://schemas.xmlsoap.org/wsdl/}handleOrder is
referenced but not def
ined.
at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined
(SymbolTable.java:527)
at org.apache.axis.wsdl.symbolTable.SymbolTable.add
(SymbolTable.java:422)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.java:408)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.java:393)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:245)
at java.lang.Thread.run(Thread.java:536)
WSDL produced by 1.1 RC2:
-------------------------
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions
targetNamespace="http://localhost:8080/DOSWebServices/services/OrderingService"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://localhost:8080/DOSWebServices/services/OrderingService"
xmlns:intf="http://localhost:8080/DOSWebServices/services/OrderingService"
xmlns:soapenc="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:types />
- <wsdl:message name="handleOrderResponse">
<wsdl:part name="handleOrderReturn" type="xsd:anyType" />
</wsdl:message>
<wsdl:message name="handleOrderRequest" />
- <wsdl:portType name="OrderingService">
- <wsdl:operation name="handleOrder">
<wsdl:input message="intf:handleOrderRequest" name="handleOrderRequest" />
<wsdl:output message="intf:handleOrderResponse" name="handleOrderResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="OrderingServiceSoapBinding" type="intf:OrderingService">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="handleOrder">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="handleOrderRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://localhost:8080/DOSWebServices/services/OrderingService"
use="encoded" />
</wsdl:input>
- <wsdl:output name="handleOrderResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://localhost:8080/DOSWebServices/services/OrderingService"
use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="OrderingServiceService">
- <wsdl:port binding="intf:OrderingServiceSoapBinding" name="OrderingService">
<wsdlsoap:address
location="http://localhost:8080/DOSWebServices/services/OrderingService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>