Hi -
I'm getting an error from wscompile on parsing a wsdl. The wsdl is
generated through AXIS for a webservice that it hosts:
I'm pasting both the wsdl and the wscompile error here. Is this a bug
with wscompile? I can open the wsdl from XMLSpy and generate a soap
request based on it. However, it fails when I called wscompile to
generate the stub classes.
Thanks
Xibin Zeng
--------------------------------------- wsdl
-----------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="
http://rpc.webparam.tests.ts.bea.com"
xmlns:apachesoap="
http://xml.apache.org/xml-soap"
xmlns:impl="
http://rpc.webparam.tests.ts.bea.com"
xmlns:intf="
http://rpc.webparam.tests.ts.bea.com"
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 28, 2005 (10:15:14 EST)-->
<wsdl:types>
<schema targetNamespace="
http://rpc.webparam.tests.ts.bea.com"
xmlns="
http://www.w3.org/2001/XMLSchema">
<import namespace="
http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="Name">
<sequence>
<element name="firstName" nillable="true" type="xsd:string"/>
<element name="lastName" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="hello4Response">
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="hello2Request">
<wsdl:part name="name_hello2" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="hello7Response">
<wsdl:part name="nameholder_hello7" type="impl:Name"/>
<wsdl:part name="nameholder2_hello7" type="impl:Name"/>
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="hello6Request">
<wsdl:part name="name_hello6" type="impl:Name"/>
<wsdl:part name="name2_hello6" type="impl:Name"/>
</wsdl:message>
<wsdl:message name="helloResponse">
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="hello8Response">
<wsdl:part name="result" type="xsd:int"/>
<wsdl:part name="nameholder_hello8" type="impl:Name"/>
<wsdl:part name="nameholder2_hello8" type="impl:Name"/>
</wsdl:message>
<wsdl:message name="hello5Response">
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="hello3Response">
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="hello4Request">
<wsdl:part name="firstname_hello4" type="xsd:string"/>
<wsdl:part name="lastname_hello4" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="hello6Response">
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="helloRequest">
<wsdl:part name="name" type="impl:Name"/>
</wsdl:message>
<wsdl:message name="hello5Request">
<wsdl:part name="name_hello5" type="xsd:string"/>
<wsdl:part name="fullName" type="impl:Name"/>
</wsdl:message>
<wsdl:message name="hello3Request">
<wsdl:part name="firstname_hello3" type="xsd:string"/>
<wsdl:part name="lastName" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="hello7Request">
<wsdl:part name="nameholder2_hello7" type="impl:Name"/>
<wsdl:part name="name" type="impl:Name"/>
</wsdl:message>
<wsdl:message name="hello8Request">
<wsdl:part name="name" type="impl:Name"/>
<wsdl:part name="nameholder2_hello8" type="impl:Name"/>
</wsdl:message>
<wsdl:message name="hello2Response">
<wsdl:part name="result" type="xsd:int"/>
</wsdl:message>
<wsdl:portType name="modeRpcWebParamWebService">
<wsdl:operation name="hello" parameterOrder="name">
<wsdl:input message="impl:helloRequest" name="helloRequest"/>
<wsdl:output message="impl:helloResponse"
name="helloResponse"/>
</wsdl:operation>
<wsdl:operation name="hello2" parameterOrder="name_hello2">
<wsdl:input message="impl:hello2Request" name="hello2Request"/>
<wsdl:output message="impl:hello2Response"
name="hello2Response"/>
</wsdl:operation>
<wsdl:operation name="hello3" parameterOrder="firstname_hello3
lastName">
<wsdl:input message="impl:hello3Request" name="hello3Request"/>
<wsdl:output message="impl:hello3Response"
name="hello3Response"/>
</wsdl:operation>
<wsdl:operation name="hello4" parameterOrder="firstname_hello4
lastname_hello4">
<wsdl:input message="impl:hello4Request" name="hello4Request"/>
<wsdl:output message="impl:hello4Response"
name="hello4Response"/>
</wsdl:operation>
<wsdl:operation name="hello5" parameterOrder="fullName
name_hello5">
<wsdl:input message="impl:hello5Request" name="hello5Request"/>
<wsdl:output message="impl:hello5Response"
name="hello5Response"/>
</wsdl:operation>
<wsdl:operation name="hello6" parameterOrder="name_hello6
name2_hello6">
<wsdl:input message="impl:hello6Request" name="hello6Request"/>
<wsdl:output message="impl:hello6Response"
name="hello6Response"/>
</wsdl:operation>
<wsdl:operation name="hello7" parameterOrder="name
nameholder_hello7 nameholder2_hello7">
<wsdl:input message="impl:hello7Request" name="hello7Request"/>
<wsdl:output message="impl:hello7Response"
name="hello7Response"/>
</wsdl:operation>
<wsdl:operation name="hello8" parameterOrder="name
nameholder_hello8 nameholder2_hello8">
<wsdl:input message="impl:hello8Request" name="hello8Request"/>
<wsdl:output message="impl:hello8Response"
name="hello8Response"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="modeRpcWebParamWebServiceSoapBinding"
type="impl:modeRpcWebParamWebService">
<wsdlsoap:binding style="rpc"
transport="
http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="hello">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="helloRequest">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:input>
<wsdl:output name="helloResponse">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello2">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello2Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts=""
use="literal"/>
<wsdlsoap:header message="impl:hello2Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="name_hello2"
use="literal">
</wsdlsoap:header>
</wsdl:input>
<wsdl:output name="hello2Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello3">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello3Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts="lastName"
use="literal"/>
<wsdlsoap:header message="impl:hello3Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="firstname_hello3"
use="literal">
</wsdlsoap:header>
</wsdl:input>
<wsdl:output name="hello3Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello4">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello4Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts=""
use="literal"/>
<wsdlsoap:header message="impl:hello4Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="firstname_hello4"
use="literal">
</wsdlsoap:header>
<wsdlsoap:header message="impl:hello4Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="lastname_hello4"
use="literal">
</wsdlsoap:header>
</wsdl:input>
<wsdl:output name="hello4Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello5">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello5Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts="fullName"
use="literal"/>
<wsdlsoap:header message="impl:hello5Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="name_hello5"
use="literal">
</wsdlsoap:header>
</wsdl:input>
<wsdl:output name="hello5Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello6">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello6Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts=""
use="literal"/>
<wsdlsoap:header message="impl:hello6Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="name_hello6"
use="literal">
</wsdlsoap:header>
<wsdlsoap:header message="impl:hello6Request"
namespace="
http://rpc.webparam.tests.ts.bea.com" part="name2_hello6"
use="literal">
</wsdlsoap:header>
</wsdl:input>
<wsdl:output name="hello6Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello7">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello7Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts="name"
use="literal"/>
<wsdlsoap:header message="impl:hello7Request"
namespace="
http://rpc.webparam.tests.ts.bea.com"
part="nameholder2_hello7" use="literal">
</wsdlsoap:header>
</wsdl:input>
<wsdl:output name="hello7Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" parts="result"
use="literal"/>
<wsdlsoap:header message="impl:hello7Response"
namespace="
http://rpc.webparam.tests.ts.bea.com"
part="nameholder_hello7" use="literal">
</wsdlsoap:header>
<wsdlsoap:header message="impl:hello7Response"
namespace="
http://rpc.webparam.tests.ts.bea.com"
part="nameholder2_hello7" use="literal">
</wsdlsoap:header>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="hello8">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="hello8Request">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:input>
<wsdl:output name="hello8Response">
<wsdlsoap:body
namespace="
http://rpc.webparam.tests.ts.bea.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="modeRpcWebParamWebServiceService">
<wsdl:port binding="impl:modeRpcWebParamWebServiceSoapBinding"
name="modeRpcWebParamWebService">
<wsdlsoap:address
location="
http://localhost:8080/jsr181-tck/com/bea/ts/tests/webparam/rpc
/modeRpcWebParamWebServiceService.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
---------------------------- Exception output
----------------------------------------
[wscompile] "name_hello2" specified in the parameterOrder attribute of
message "hello2" is
not a valid part of the message.
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.processParameter
Order(WSDLModelerBase.java:2101)
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.processSOAPOpera
tionRPCLiteralStyle(WSDLModelerBase.java:2316)
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.processSOAPOpera
tion(WSDLModelerBase.java:905)
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.processPort(WSDL
ModelerBase.java:763)
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.processService(W
SDLModelerBase.java:519)
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.internalBuildMod
el(WSDLModelerBase.java:354)
[wscompile] at
com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.buildModel(WSDLM
odelerBase.java:238)
[wscompile] at
com.sun.xml.rpc.processor.config.ModelInfo.buildModel(ModelInfo.java:88
)
[wscompile] at
com.sun.xml.rpc.processor.Processor.runModeler(Processor.java:63)
[wscompile] at
com.sun.xml.rpc.tools.wscompile.CompileTool.run(CompileTool.java:714)
[wscompile] at com.sun.xml.rpc.util.ToolBase.run(ToolBase.java:43)
[wscompile] at
com.sun.xml.rpc.tools.wscompile.Main.main(Main.java:22)
[wscompile] error: "name_hello2" specified in the parameterOrder
attribute of message "hel
lo2" is not a valid part of the message.
[wscompile] Command invoked: wscompile C:\jdk1.5.0_02\jre\bin\java.exe
-classpath C:\jdk1.
5.0_02\lib\tools.jar;D:\Sun\jwsdp-1.5\jwsdp-shared\lib\mail.jar;D:\Sun\j
wsdp-1.5\jwsdp-sha
red\lib\activation.jar;D:\Sun\jwsdp-1.5\jaxp\lib\endorsed\dom.jar;D:\Sun
\jwsdp-1.5\jaxp\li
b\endorsed\sax.jar;D:\Sun\jwsdp-1.5\jaxp\lib\endorsed\xalan.jar;D:\Sun\j
wsdp-1.5\jaxp\lib\
endorsed\xercesImpl.jar;D:\Sun\jwsdp-1.5\jaxrpc\lib\jaxrpc-api.jar;D:\Su
n\jwsdp-1.5\jaxrpc
\lib\jaxrpc-impl.jar;D:\Sun\jwsdp-1.5\jaxrpc\lib\jaxrpc-spi.jar;D:\Sun\j
wsdp-1.5\saaj\lib\
saaj-api.jar;D:\Sun\jwsdp-1.5\saaj\lib\saaj-impl.jar;D:\Sun\jwsdp-1.5\jw
sdp-shared\lib\rel
axngDatatype.jar;D:\Sun\jwsdp-1.5\jwsdp-shared\lib\xsdlib.jar;D:\Sun\jws
dp-1.5\jwsdp-share
d\lib\jax-qname.jar;D:\Sun\jwsdp-1.5\apache-ant\lib\ant.jar;D:\dev\stand
ards\jsr181\tck\li
b\javatest.jar;D:\dev\standards\jsr181\tck\lib\sigtestdev.jar;D:\dev\sta
ndards\jsr181\tck\
lib\sigtest.jar com.sun.xml.rpc.tools.wscompile.Main -d
D:\Development\Beehive\wsm\test\js
r181\clientclasses "-features:explicitcontext, useonewayoperations"
-gen:client -keep -Xpr
intstacktrace
D:\Development\Beehive\wsm\test\jsr181\clientclasses\config-template.xml