users@jax-rpc.java.net

wscompile error

From: Xibin Zeng <xzeng_at_bea.com>
Date: Wed, 27 Apr 2005 13:04:07 -0600

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