But why are you using URL?wsdl (which just runs the same generation code as java2wsdl afterall) when you have the wsdl already?

What was the failure in using the <wsdlFile> tag?

chrapchp wrote:
Hello,
Because it is failing when I just try to go to the URL?wsdl. I can access
the client ok with a java-based client, but when I use a non-java client
e.g. macromedia it chokes. What I did to try to get around it was configure
the sever-config.wsdd service entry with the </wsdlFile> tag and watch it
fail miserably when I try to invoke a method. If I remove the complex ano
type it works. So rather than try to work with a huge WSDL doc, I went back
to basics and trying to resolve the problem. I suspect they all have the
same root cause.

pjc

-----Original Message-----
From: Dan Christopherson [mailto:[EMAIL PROTECTED]
Sent: Monday, December 15, 2003 9:16 AM
To: [EMAIL PROTECTED]
Subject: Re: Anonymous Complex Types


If you're implementing a third party WSDL why are you generating WSDL?


chrapchp wrote:

Hello,
I cannot get a successful WSDL doc generation from ?WSDL or Java2WSDL when

I


include complex anonymous types. I cannot modify the WSDL doc since it is
driven by a third party spec.  What I did was create a simple WSDL doc to
try an isolate the problem from which I just perform a WSDL2Java and then
Java2WSDL to track the problem. It fails on the Java2WSDL operation.
e.g.

writeTypeForPart() + qname={http://www.w3.org/2001/XMLSchema}string
writeTypeForPart()com.flashsense.test._PoopsyDataIn
writeTypeForPart() + qname={http://test.flashsense.com}_PoopsyDataIn
AxisFault
faultCode:

{http://schemas.xmlsoap.org/soap/envelope/}Server.userException


faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:

{http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
       at

org.apache.axis.wsdl.fromJava.Types.isSimpleType(Types.java:1242)


at


org.apache.axis.wsdl.fromJava.Types.isAcceptableAsAttribute(Types.java:1260)


at


org.apache.axis.encoding.ser.BeanSerializer.writeAttribute(BeanSerializer.ja


va:476)
       at


org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:


386)
       at
org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1707)
       at
org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:429)
       at


org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1700)


at


org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1394)


       at
org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1086)
       at
org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1057)
       at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:495)
       at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:346)
       at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:441)
       at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:622)
       at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:668)

I read in earlier posts from which there were no replies to the error
"Caused by: makeTypeElement() was told to create a type
"{http://test.flashsense.com}>PoopsyDataIn", with no containing element" I
get that too, but I see the code is invoking writeTypeForPart() with a

null


for the Element parameter. Should createElementWithAnonymousType() be
invoked somewhere? Am I missing something?  Any suggestions would be
appreciated.

Frustratingly yours,
pjc

A fragment of the WSDL is as follows:

<?xml version="1.0" encoding="utf-8" ?>
- <wsdl:definitions name="eek" targetNamespace="urn:DunceService"
xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:impl="urn:DunceService" xmlns:intf="urn:DunceService"
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:documentation />
- <wsdl:types>
- <xsd:schema targetNamespace="http://test.flashsense.com";
xmlns:tns="http://test.flashsense.com";>
- <xsd:element name="PoopsyDataIn">
- <xsd:complexType>
 <xsd:attribute name="arg1" type="xsd:string" />
 <xsd:attribute name="arg2" type="xsd:double" />
 </xsd:complexType>
 </xsd:element>
 </xsd:schema>
 </wsdl:types>
- <!--
WSDL created by Apache Axis version: 1.2alpha
Built on Dec 09, 2003 (01:04:27 MST)

 -->
- <wsdl:message name="upperStringRequest">
 <wsdl:part name="aString" type="xsd:string" />
 </wsdl:message>
- <wsdl:message name="doubleNumberRequest">
 <wsdl:part name="aNum" type="xsd:int" />
 </wsdl:message>
- <wsdl:message name="doubleNumberResponse">
 <wsdl:part name="doubleNumberReturn" type="xsd:int" />
 </wsdl:message>
- <wsdl:message name="upperStringResponse">
 <wsdl:part name="upperStringReturn" type="xsd:string" />
 </wsdl:message>
- <wsdl:message name="poopsyRequest">
 <wsdl:part element="tns:PoopsyDataIn" name="poopsyIn"
xmlns:tns="http://test.flashsense.com"; />
 </wsdl:message>
- <wsdl:message name="PoopsyResponse">
 <wsdl:part name="out" type="xsd:string" />
 </wsdl:message>
- <wsdl:portType name="DunceService">
- <wsdl:operation name="doubleNumber" parameterOrder="aNum">
 <wsdl:input message="impl:doubleNumberRequest"

name="doubleNumberRequest"


/>
 <wsdl:output message="impl:doubleNumberResponse"
name="doubleNumberResponse" />
 </wsdl:operation>
- <wsdl:operation name="upperString" parameterOrder="aString">
 <wsdl:input message="impl:upperStringRequest" name="upperStringRequest"

/>


<wsdl:output message="impl:upperStringResponse"

name="upperStringResponse"


/>
 </wsdl:operation>
- <wsdl:operation name="PoopsyService">
 <wsdl:input message="impl:poopsyRequest" name="poopsyRequest" />
 <wsdl:output message="impl:PoopsyResponse" name="PoopsyResponse" />
 </wsdl:operation>
 </wsdl:portType>
....









Reply via email to