Use Axis 1.4 instead. Anne
On 7/30/07, Philipp Leitner <[EMAIL PROTECTED]> wrote: > AFAIK Axis 2 does not support RPC/encoded at all since it is not WS-I > compliant. > > /philipp > > alpatino2 schrieb: > > Hi! > > > > I have a slightly different requirement: I received wsdl's from a service > > provider that implements the TR-069 spec, this spec define the use of > > rpc/encoded style. I need to invoke this service but I am not able to > > generate the client, I tried to generate the client for the sample > > stockAvailableNotification.wsdl extracted from the Building Web Services > > with Java book, but I get the following error: > > > > > > > > Exception in thread "main" > > org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL > > at > > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:140) > > at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32) > > at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21) > > Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: > > Parser SAX Error: org.xml.sax.SAXException: Fatal Error: > > URI=file:///home/albertop/axis2/wsdl-rpc/examples/src/ch6/ex2/stockAvailableNotification.wsdl > > Line=24: The prefix "wsdl" for attribute "wsdl:arrayType" associated with an > > element type "attribute" is not bound. > > at > > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(CodeGenerationEngine.java:300) > > at > > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:97) > > ... 2 more > > Caused by: org.xml.sax.SAXException: Fatal Error: > > URI=file:///home/albertop/axis2/wsdl-rpc/examples/src/ch6/ex2/stockAvailableNotification.wsdl > > Line=24: The prefix "wsdl" for attribute "wsdl:arrayType" associated with an > > element type "attribute" is not bound. > > > > The wsdl from the book is: > > > > <?xml version="1.0" ?> > > <definitions name="StockAvailableNotification" > > targetNamespace= > > "http://www.skatestown.com/services/StockAvailableNotification" > > xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" > > xmlns:reg="http://www.skatestown.com/ns/registrationRequest" > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > > xmlns="http://schemas.xmlsoap.org/wsdl/"> > > > > <!-- Type definitions from the registration schema--> > > <types> > > <xsd:schema > > targetNamespace="http://www.skatestown.com/ns/registrationRequest" > > xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" > > xmlns="http://www.skatestown.com/schemas/ns/registrationRequest"> > > > > <xsd:complexType name="registrationRequest"> > > <xsd:sequence> > > <xsd:element name="items"> > > <xsd:complexType name="ArrayOfItem"> > > <complexContent> > > <restriction base="soapenc:Array"> > > <attribute ref="soapenc:arrayType" > > wsdl:arrayType="xsd:string[]"/> > > </restriction> > > </complexContent> > > </complexType> > > </xsd:element> > > > > <xsd:element name="address" type="xsd:uriReference"/> > > > > <xsd:element name="transport" > > default="http://schemas.xmlsoap.org/soap/smtp" > > minOccurs="0"> > > <xsd:simpleType> > > <xsd:restriction base="xsd:uriReference"> > > <xsd:enumeration > > value="http://schemas.xmlsoap.org/soap/http"/> > > <xsd:enumeration > > value="http://schemas.xmlsoap.org/soap/smtp"/> > > </xsd:restriction> > > </xsd:simpleType> > > </xsd:element> > > > > <xsd:element name="clientArg" type="xsd:string" > > minOccurs="0"/> > > </xsd:sequence> > > </xsd:complexType> > > > > <xsd:simpleType name="correlationID"> > > <xsd:restriction base="xsd:string"> > > <!-- some appropriate restriction --> > > </xsd:restriction> > > </xsd:simpleType> > > </xsd:schema> > > </types> > > > > <!-- Message definitions --> > > <message name="StockAvailableRegistrationRequest"> > > <part name="registration" element="reg:registrationRequest"/> > > <part name="expiration" type="xsd:timeInstant"/> > > </message> > > > > <message name="StockAvailableRegistrationResponse"> > > <part name="correlationID" type="reg:correlationID"/> > > </message> > > > > <message name="StockAvailableRegistrationError"> > > <part name="errorString" type="xsd:string"/> > > </message> > > > > <message name="StockAvailableExpirationError"> > > <part name="errorString" type="xsd:string"/> > > </message> > > > > <message name="StockAvailableNotification"> > > <part name="timeStamp" type="xsd:timeInstant"/> > > <part name="correlationID" type="reg:correlationID"/> > > <part name="items" type="reg:items"/> > > <part name="clientArg" type="xsd:string"/> > > </message> > > > > <message name="StockAvailableExpirationNotification"> > > <part name="timeStamp" type="xsd:timeInstant"/> > > <part name="correlationID" type="reg:correlationID"/> > > <part name="items" type="reg:ArrayOfItem"/> > > <part name="clientArg" type="xsd:string"/> > > </message> > > > > <message name="StockAvailableCancellation"> > > <part name="correlationID" type="reg:correlationID"/> > > </message> > > > > <!-- Port type definitions --> > > <portType name="StockAvailableNotificationPortType"> > > <!--Registration Operation --> > > <operation name="registration"> > > <input message="StockAvailableRegistrationRequest"/> > > <output message="StockAvailableRegistrationResponse"/> > > <fault message="StockAvailableRegistrationError" > > name="StockAvailableNotificationErrorMessage"/> > > <fault message="StockAvailableExpirationError" > > name="StockAvailableExpirationError"/> > > </operation> > > > > <!--Notification Operation --> > > <operation name="notification"> > > <output message="StockAvailableNotification"/> > > </operation> > > > > <!--Expiration Notification Operation --> > > <operation name="expirationNotification"> > > <output message="StockAvailableExpirationNotification"/> > > </operation> > > > > <!--Cancellation Operation --> > > <operation name="cancellation"> > > <input message=" StockAvailableCancellation"/> > > </operation> > > </portType> > > > > <!-- Binding definitions --> > > <binding name="StockAvailableNotificationSOAPBinding" > > type="StockAvailableNotificationPortType"> > > <soap:binding style="rpc" > > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > <documentation>Note: the requestor must invoke the registration > > operation first. > > </documentation> > > > > <operation name="registration"> > > <soap:operation > > soapAction= > > > > "http://www.skatesTown.com/StockAvailableNotification/registration"> > > <input> > > <soap:header message="StockAvailableRegistrationRequest" > > part="expiration" use="encoded" > > > > namespace="http://www.skatestown.com/ns/registrationRequest" > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > <soap:headerfault message="StockAvailableExpirationError" > > part="errorString" use="encoded" > > > > namespace="http://www.skatestown.com/ns/registrationRequest" > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </soap:header> > > <soap:body parts="registration" use="literal" style="document"/> > > </input> > > <output> > > <soap:body use="encoded" > > namespace="http://www.skatestown.com/ns/registrationRequest" > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </output> > > <fault name="StockAvailableNotificationErrorMessage"> > > <soap:fault name="StockAvailableNotificationErrorMessage" > > namespace="http://www.skatestown.com/ns/registrationRequest" > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </fault> > > </operation> > > > > <operation name="notification"> > > <output> > > <soap:body use="encoded" > > namespace="http://www.skatestown.com/ns/registrationRequest" > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </output> > > </operation> > > > > <operation name="cancellation"> > > <soap:operation > > soapAction= > > > > "http://www.skatesTown.com/StockAvailableNotification/cancellation"> > > <input> > > <soap:body use="encoded" > > namespace="http://www.skatestown.com/ns/registrationRequest" > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </input> > > </operation> > > </binding> > > > > <!-- Service definition --> > > <service name="StockAvailableNotificationService"> > > <port name="StockAvailableNotificationPort" binding=" > > StockAvailableNotificationSOAPBinding "> > > <soap:address > > location="http://www.skatestown.com/axis/services/StockNotification"/> > > </port> > > </service> > > > > </definitions> > > > > > > Thanks!! > > > > > > You will have to update the .NET client to use the new WSDL. > > .NET has an easy-to-use utility call wsdl.exe that generates client > > stubs for you. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
