Wsdl2Java seems to differ in the way input and output parameters are
managed. In my experience I've found that setting
<wsdl:message name="UpdateResponseMessage">
<wsdl:part name="Void"
type="xsd:anyType">
</wsdl:part>
</wsdl:message>
is ok, but the same
<wsdl:message name="UpdateRequestMessage">
<wsdl:part name="UpdateRequest"
type="xsd:anyType">
</wsdl:part>
</wsdl:message>
is not. So try setting the following:
<element name="Update" type="tns:UpdateType">
<complexType name="UpdateType>
<sequence>
<element name="arg" type="xsd:string">
</sequence>
</complexType>
<wsdl:message name="UpdateRequestMessage">
<wsdl:part name="UpdateRequest"
element="tns:Update">
</wsdl:part>
</wsdl:message>
I have not checked the above code so I don't know if it's
syntactically right, but it should give you an idea of what I'm
referring.
On 12/15/06, Grady, Brendan (Mission Systems) <[EMAIL PROTECTED]> wrote:
Hello,
I am encountering what I expect to be a simple error, but my lack of
experience with WSDL is holding me back.
Basically, I am trying to expose an asynchronous "UpdateRequest" operation
on the wsn-producer tutorial that takes a String as a parameter and returns
void. i.e. In MyCapability.java, I want to implement a method with the
following signature: public void UpdateRequest(String ...)
What I have added to the sample wsn-producer.wsdl (attached) thus far:
<!-- Block 1 -->
<wsdl:message name="UpdateRequestMessage">
<wsdl:part name="UpdateRequest"
type="xsd:string">
</wsdl:part>
</wsdl:message>
<wsdl:message name="UpdateResponseMessage">
<wsdl:part name="Void"
type="xsd:anyType">
</wsdl:part>
</wsdl:message>
<!-- End Block 1 -->
<!-- Block 2 -->
<wsdl:portType name="WsResourcePortType"
.....
<wsdl:operation name="UpdateRequest">
<wsdl:input
wsa:Action="http://ws.apache.org/muse/test/wsrf"
name="UpdateRequestMessage"
message="tns:UpdateRequestMessage" />
<wsdl:output
wsa:Action="http://ws.apache.org/muse/test/wsrf"
name="UpdateResponseMessage"
message="tns:UpdateResponseMessage" />
</wsdl:operation>
.....
</wsdl:portType>
<!-- End Block 2 -->
<!-- Block 3 -->
<wsdl:binding name="WsResourceBinding"
.....
<wsdl:operation name="UpdateRequest">
<wsdl-soap:operation soapAction="UpdateRequest" />
<wsdl:input name="UpdateRequestMessage">
<wsdl-soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
</wsdl:input>
<wsdl:output name="UpdateResponseMessage">
<wsdl-soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
</wsdl:output>
</wsdl:operation>
....
</wsdl:binding>
<!-- End Block 3 -->
The command that I am running is: wsdl2java -wsdl .\wsdl\wsn-producer.wsdl
-verbose (called from the base of my project directory with subdirectory
wsdl which contains the sample wsdl and all of the imported wsdl's and
xsd's)
The error that I am receiving is:
C:\Documents and
Settings\gradybr\Desktop\ExposedUpdate>wsdl2java -wsdl
.\wsdl\wsn-producer.wsdl -verbose
SEVERE: [ID = 'CodeGenFailed'] Code generation failed, see the exception
information below.
An exception was caught: [ID = 'NullTypeQName'] The QName describing the
type declaration is null.
The exception generated the following stacktrace:
java.lang.NullPointerException: [ID = 'NullTypeQName'] The QName describing
thetype declaration is null.
at
org.apache.muse.ws.wsdl.WsdlUtils.getTypeDeclaration(WsdlUtils.java:663)
at
org.apache.muse.tools.inspector.ResourceInspector.createJavaMethod(ResourceInspector.java:329)
at
org.apache.muse.tools.inspector.ResourceInspector.getOperations(ResourceInspector.java:532)
at
org.apache.muse.tools.inspector.ResourceInspector.run(ResourceInspector.java:849)
at
org.apache.muse.tools.generator.analyzer.SimpleAnalyzer.inspect(SimpleAnalyzer.java:367)
at
org.apache.muse.tools.generator.analyzer.SimpleAnalyzer.analyze(SimpleAnalyzer.java:313)
at
org.apache.muse.tools.generator.Wsdl2Java.run(Wsdl2Java.java:142)
at
org.apache.muse.tools.generator.Wsdl2Java.main(Wsdl2Java.java:259)
I am new to Muse and Web Services in general. I have followed the tutorial
and have the wsn-producer (beginning with the WSDL) example up and running
correctly.
Thanks for any help,
Brendan Grady
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Saludos.
José Antonio Sánchez
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]