Pat,
You're correct -- you need to add an <operation> definition to your
WSDD to help Axis map the <ProvisioningTaskRequest> message to the
ProvisioningTaskRequestOperation method.
The format of the <operation> definition is:
<operation name="ProvisioningTaskRequestOperation"
qname="ns:ProvisioningTaskRequest"
/>
(If you used wrapped style, you wouldn't have this problem.)
Anne
On 6/15/05, Feng Xie (fxie) <[EMAIL PROTECTED]> wrote:
>
> Pat:
>
> Too bad to hear that. Don't give up.
>
> In my case ( Axis + Tomcat 5 ), the soapAction is always "" in WSDL. What I
> did is come up a very basic Java interface and let Java2WSDL to generate a
> base WSDL. I then enhance the WSDL. I noticed that the soapAction is "" in
> the based WSDL created by Java2WSDL.
>
> However, the soapAction in your WSDL is not "". Not sure whether that will
> affect the dispatch process.
>
> Feng
>
> ________________________________
> From: Patrick Quinn [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 15, 2005 12:11 PM
>
> To: [email protected]
> Subject: RE: No such operation error - malformed WSDL?
>
>
>
> Feng
>
> no it didn't cure the problem I'm afraid.
>
> I've seen posts before about the same problem, but there doesn't seem to be
> an obvious remedy.
>
> If I knew for sure that this is a problem with the WSDL then I would be
> almost happy knowing that, and I could persevere in trying to cure it - but
> at the moment I am wondering whether it is Axis itself, or some
> configuration problem.
>
> I have heard that there are problems with Axis and 'doc/lit' style, and that
> it is better to use 'wrapped', but I am constrained to what our customer
> wants.
>
> At this stage I really don't want to ditch Axis and look for another SOAP
> engine ... :-/
>
>
> -----Original Message-----
> From: Feng Xie (fxie) [mailto:[EMAIL PROTECTED]
> Sent: 15 June 2005 17:03
> To: [email protected]
> Subject: RE: No such operation error - malformed WSDL?
>
>
> Did it fix your problem ?
>
> WSDL2java probable doesn't pay attention onto the location line.
>
> -Feng
>
> ________________________________
> From: Patrick Quinn [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 15, 2005 11:57 AM
> To: [email protected]
> Subject: RE: No such operation error - malformed WSDL?
>
>
>
> This is the generated deployment file. Maybe it needs a description of the
> missing operation?
> If so, I wonder why the WSDL2Java did not generate this?
>
>
>
>
> <deployment
> xmlns="http://xml.apache.org/axis/wsdd/"
>
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>
> <!-- Services from ProvisioningService WSDL service -->
>
> <service name="ProvisioningTaskRequestPort"
> provider="java:RPC" style="document" use="literal">
> <parameter name="wsdlTargetNamespace"
> value="urn:ProvidentProvisioningTNS"/>
> <parameter name="wsdlServiceElement" value="ProvisioningService"/>
> <parameter name="wsdlServicePort"
> value="ProvisioningTaskRequestPort"/>
> <parameter name="className"
> value="ProvidentProvisioningTNS.ProvisioningTaskRequestSoap
> BindingSkeleton"/>
> <parameter name="wsdlPortType"
> value="ProvisioningTaskRequestPortType"/>
> <parameter name="allowedMethods" value="*"/>
>
> <typeMapping
> xmlns:ns="urn:ProvidentProvisioningTNS"
> qname="ns:ProvisioningTaskRequest"
>
> type="java:ProvidentProvisioningTNS._ProvisioningTaskRequest"
>
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle=""
> />
> </service>
> </deployment>
>
>
>
> -----Original Message-----
> From: Feng Xie (fxie) [mailto:[EMAIL PROTECTED]
> Sent: 15 June 2005 16:22
> To: [email protected]
> Subject: RE: No such operation error - malformed WSDL?
>
>
> Patrick:
>
> Can you replace the location line in your wsdl with the following line and
> regenerate stub and skeleton ?
>
> <soap:address
> location="http://localhost:8880/axis/services/ProvisioningTaskRequestPort">
>
> Feng
>
>
> ________________________________
> From: Patrick Quinn [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 15, 2005 10:37 AM
> To: [email protected]
> Subject: No such operation error - malformed WSDL?
>
>
>
>
>
> Hi
>
> I have received a WSDL from a customer. The style is document/literal. The
> stubs/skeleton are generated fine when WSDL2Java is run, but a 'no such
> operation' error appears when the client code attempts the remote call with
> the bean.
>
>
> Is there something incorrect in the WSDL that has caused the generated WSDD
> deployment file to be incomplete?
>
>
> Many thanks for any help that can be provided. Data is below.
>
> Regards
>
> Patrick Quinn
>
>
> error text
>
>
> Exception in thread "main" AxisFault
> faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: No such operation
> 'ProvisioningTaskRequest'
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace: AxisFault
> faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: No such operation
> &apos;ProvisioningTaskRequest&apos;
> faultActor:
> faultNode:
> faultDetail:
>
> No such operation 'ProvisioningTaskRequest'
> at
> org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
> . . .
> at
> org.apache.axis.client.Call.invoke(Call.java:1691)
> at
> ProvidentProvisioningTNS.ProvisioningTaskRequestSoapBindingStub.provisioningTaskRequestOperation(ProvisioningTaskRequestSoapBindingStub.java:140)
> at
> ProvidentProvisioningTNS.Main2.main(Main2.java:63)
>
> No such operation 'ProvisioningTaskRequest'
> at
> org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
> etc.
>
>
>
>
> The WSDL looks like this (I suspect it is based on the example found at
> www.w3.org/TR/wsdl):
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:impl="urn:xml-soapadapter"
> xmlns:intf="urn:xml-soapadapter" x
> mlns:tns="urn:ProvidentProvisioningTNS"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:wsdl="http://schemas.xmlsoap.org/ws
> dl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> targetNamespace="urn:ProvidentProvisioningTNS"
> name="urn:ProvidentProv
> isioning">
> <wsdl:types>
> <xsd:schema elementFormDefault="qualified"
> targetNamespace="urn:ProvidentProvisioningTNS">
> <xsd:element name="ProvisioningTaskRequest">
> <xsd:complexType>
> <xsd:sequence>
>
> <xsd:element minOccurs="0" maxOccurs="1" name="REQUESTID"
> type="xsd:string"/>
>
> <xsd:element minOccurs="0" maxOccurs="1" name="SOTYPE" type="xsd:string"/>
>
> <xsd:element minOccurs="0" maxOccurs="1" name="PRIORITY" type="xsd:string"/>
>
> <xsd:element minOccurs="0" maxOccurs="1" name="RECOVERY" type="xsd:string"/>
>
> <xsd:element minOccurs="0" maxOccurs="1" name="XML_SO" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> </wsdl:types>
> <message name="ProvisioningTaskRequestMessage">
> <part name="body"
> element="tns:ProvisioningTaskRequest"/>
> </message>
> <message name="ProvisioningTaskAckMessage">
> <part name="body" type="xsd:string"/>
> </message>
> <portType name="ProvisioningTaskRequestPortType">
> <operation
> name="ProvisioningTaskRequestOperation">
> <input
> message="tns:ProvisioningTaskRequestMessage"/>
> <output
> message="tns:ProvisioningTaskAckMessage"/>
> </operation>
> </portType>
> <binding name="ProvisioningTaskRequestSoapBinding"
> type="tns:ProvisioningTaskRequestPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation
> name="ProvisioningTaskRequestOperation">
> <soap:operation
> soapAction="ProvidentProvisioningTNS/ProvisioningTaskRequestOperation"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="ProvisioningService">
> <documentation>Provident Provisioning
> Service</documentation>
> <port name="ProvisioningTaskRequestPort"
> binding="tns:ProvisioningTaskRequestSoapBinding">
> <soap:address
> location="http://localhost:8880/axis/services/ProvidentProvisioning"/>
> </port>
> </service>
> <!-- message declns -->
> <!-- port type declns FINISHED -->
> <!-- binding declns FINISHED -->
> <!-- service decln FINISHED -->
> </wsdl:definitions>
>
>
>
> deploy.wsdd file
>
>
>
> <deployment
> xmlns="http://xml.apache.org/axis/wsdd/"
>
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>
> <!-- Services from ProvisioningService WSDL service -->
>
> <service name="ProvisioningTaskRequestPort"
> provider="java:RPC" style="document" use="literal">
> <requestFlow>
> <handler type="soapmonitor"/>
> </requestFlow>
> <responseFlow>
> <handler type="soapmonitor"/>
> </responseFlow>
> <parameter name="wsdlTargetNamespace"
> value="urn:ProvidentProvisioningTNS"/>
> <parameter name="wsdlServiceElement" value="ProvisioningService"/>
> <parameter name="wsdlServicePort"
> value="ProvisioningTaskRequestPort"/>
> <parameter name="className"
> value="ProvidentProvisioningTNS.ProvisioningTaskRequestSoapBindingSkeleton"
> />
> <parameter name="wsdlPortType"
> value="ProvisioningTaskRequestPortType"/>
> <parameter name="allowedMethods" value="*"/>
> <parameter name="scope" value="Session"/>
>
> <typeMapping
> xmlns:ns="urn:ProvidentProvisioningTNS"
> qname="ns:>ProvisioningTaskRequest"
>
> type="java:ProvidentProvisioningTNS._ProvisioningTaskRequest"
>
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle=""
> />
> </service>
> </deployment>
>
>
>
>
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit
> http://www.messagelabs.com/email
> ______________________________________________________________________
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit
> http://www.messagelabs.com/email
> ______________________________________________________________________
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit
> http://www.messagelabs.com/email
> ______________________________________________________________________
>