ah. i forgot about that. then set the soap action to the name of the
method (also read up the article i sent in my prev email)
thanks,
dims
On 12/14/06, Ted Jones <[EMAIL PROTECTED]> wrote:
Hmmm... I get this when trying to get to the Axis2 generated WSDL:
<error>
<description>Unable to generate WSDL for this service</description>
<reason>
If you wish Axis2 to automatically generate the WSDL, then please use
one of the RPC message receivers for the service(s)/operation(s) in
services.xml. If you have added a custom WSDL in the META-INF directory,
then please make sure that the name of the service in services.xml
(/serviceGroup/service/@name) is the same as in the custom wsdl's
service name (/wsdl:definitions/wsdl:service/@name).
</reason>
</error>
Here is my service.xml for the deployed service:
<service name="service">
<description>
Test Web Service
</description>
<parameter name="ServiceClass"
locked="false">com.test.soap.lds.service.DataServiceWebService</paramete
r>
<parameter name="allowedMethods"
locked="false">executeDataservice</parameter>
<operation name="executeDataservice">
<messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
FYI - The WSDL is generated dynamically from a servlet, it is not in the
META-INF directory.
Thanks,
Ted
-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED]
Sent: Thursday, December 14, 2006 2:41 PM
To: [email protected]
Cc: Martin Gainty
Subject: Re: Axis 1.* to Axis2 Migration Question
can you paste the autogenerated wsdl when you point your browse to
"?wsdl"
thanks,
dims
On 12/14/06, Ted Jones <[EMAIL PROTECTED]> wrote:
> My WSDL is pasted in below. This same WSDL works in Axis 1.3. When I
> execute the "getBookCollection" operation, it really accesses a method
> in the service that grabs the SOAP Action value and uses that to query
> against the database, gets a value and updates the SOAP response. This
> allows a dynamic behavior that does not require us to recreate the web
> service to accommodate a specific operation name. Here is a snippet
> from the userguide for Axis 1.2 that lead us down this path:
>
> <snippet>
> __________________________________________
> Message services
>
> Finally, we arrive at "Message" style services, which should be used
> when you want Axis to step back and let your code at the actual XML
> instead of turning it into Java objects. There are four valid
> signatures for your message-style service methods:
>
> public Element [] method(Element [] bodies); public SOAPBodyElement []
> method (SOAPBodyElement [] bodies); public Document method(Document
> body); public void method(SOAPEnvelope req, SOAPEnvelope resp);
>
> The first two will pass your method arrays of either DOM Elements or
> SOAPBodyElements - the arrays will contain one element for each XML
> element inside the <soap:body> in the envelope.
>
> The third signature will pass you a DOM Document representing the
> <soap:body>, and expects the same in return.
>
> The fourth signature passes you two SOAPEnvelope objects representing
> the request and response messages. This is the signature to use if you
> need to look at or modify headers in your service method. Whatever you
> put into the response envelope will automatically be sent back to the
> caller when you return. Note that the response envelope may already
> contain headers which have been inserted by other Handlers.
> ___________________________________________
> </snippet>
>
> It is the fourth signature that we were able to utilize. The method
> name was not the operation name, but an arbitrary value we defined.
>
> Here is my WSDL:
>
> <definitions name="Books"
> targetNamespace="http://com.test/BooksWebService"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://com.test/BooksWebService"
> xmlns:schema1="http://test.com/books/input"
> xmlns:schema2="http://www.test.com/XMLSchema/DataSets/Books">
> <types>
> <xsd:schema targetNamespace="http://com.test/BooksWebService"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
> <xsd:import namespace="http://test.com/books/input"
> schemaLocation="http://testServer:8085/BooksWebService/servlet/Service
> /B
> ooksWebService/BooksInput.xsd" />
> <xsd:import
> namespace="http://www.test.com/XMLSchema/DataSets/Books"
> schemaLocation="http://testServer:8085/BooksWebService/servlet/Service
> /B
> ooksWebService/Books.xsd" />
> </xsd:schema>
> </types>
> <message name="Books_getBookCollection_getBookCollectionInput">
> <documentation>Input message for operation
> Books/getBookCollection.</documentation>
> <part name="Books_getBookCollection_getBookCollectionInput"
> element="schema1:getBookCollectionByTitleRequest" />
> </message>
> <message name="Books_getBookCollection_getBookCollectionOutput">
> <documentation>Output message for operation
> Books/getBookCollection.</documentation>
> <part name="Books_getBookCollection_getBookCollectionOutput"
> element="schema2:bookCollection" />
> </message>
> <portType name="Books">
> <operation name="getBookCollection">
> <input
> message="tns:Books_getBookCollection_getBookCollectionInput" />
> <output
> message="tns:Books_getBookCollection_getBookCollectionOutput" />
> </operation>
> </portType>
> <binding name="Books" type="tns:Books">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> <operation name="getBookCollection">
> <soap:operation style="document"
> soapAction="BooksWebService.Books.getBookCollection" />
> <input>
> <soap:body use="literal" />
> </input>
> <output>
> <soap:body use="literal" />
> </output>
> </operation>
> </binding>
> <service name="Books">
> <port name="Books" binding="tns:Books">
> <soap:address
> location="http://testServer:8085/BooksWebService/services/service" />
> </port>
> </service>
> </definitions>
>
> Thanks very much,
> Ted
>
> -----Original Message-----
> From: Martin Gainty [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 14, 2006 1:38 PM
> To: [email protected]
> Subject: Re: Axis 1.* to Axis2 Migration Question
>
> Hi Ted
>
> Can you show us the operation <wsdl:operation name="getXXXX"> from
> your wsdl?
> better yet could you display the entire wsdl for your service?
>
> Thanks,
>
> ----------------------------------------------------------------------
> --
> ---
> This e-mail message (including attachments, if any) is intended for
> the use of the individual or entity to which it is addressed and may
> contain information that is privileged, proprietary , confidential and
> exempt from disclosure. If you are not the intended recipient, you are
> notified that any dissemination, distribution or copying of this
> communication is strictly prohibited.
> ----- Original Message -----
> From: "Ted Jones" <[EMAIL PROTECTED]>
> To: <[email protected]>; <[EMAIL PROTECTED]>
> Sent: Thursday, December 14, 2006 2:10 PM
> Subject: RE: Axis 1.* to Axis2 Migration Question
>
>
> Thanks for the response dims. The Axis 1.* implementation is such that
> it does not matter what the method name is, as long as the signature
> matches one if the expected method signatures. If the method name was
> specified in the allowableMethods property, it would be executed. So
> the operation name did not have to match the method name. Is this
> still the case? The reason I ask is because I am getting an Operation
> not found exception.
>
> Thanks for your help,
> Ted
>
> -----Original Message-----
> From: Davanum Srinivas [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 14, 2006 11:00 AM
> To: [email protected]
> Subject: Re: Axis 1.* to Axis2 Migration Question
>
> Please see http://ws.apache.org/axis2/1_1/quickstartguide.html#axiom
>
> public OMElement nameOfMethod(OMElement element)
>
> thanks,
> dims
>
> On 12/14/06, Ted Jones <[EMAIL PROTECTED]> wrote:
> > To be more specific as to what Axis 1.3 logic I am trying to
> > convert, the java:msg provider in Axis 1.3 specifies that the
> > service class contains the following method signature (among
others):
> >
> > public void nameOfMethod(org.apache.axis.message.SOAPEnvelope req,
> > org.apache.axis.message.SOAPEnvelope resp)
> > throws Exception { ... }
> >
> > This has worked well for us by allowing us to interrogate the
> > request,
>
> > execute our business logic, and return the results in the SOAP
> response.
> >
> >
> > Is there an equivalent solution in Axis2?
> >
> > TIA,
> > Ted
> > -----Original Message-----
> > From: Ted Jones [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, December 13, 2006 3:09 PM
> > To: [email protected]
> > Subject: RE: Axis 1.* to Axis2 Migration Question
> >
> > So, after looking through the documentation, is it accurate to say
> > that there is no parallel Axis2 form of a service that uses a
> > message provider and will default to an method based on it's
> > signature? Does the operation need to be specified now?
> >
> > Thanks
> >
> > -----Original Message-----
> > From: robert lazarski [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, December 13, 2006 2:42 PM
> > To: [email protected]
> > Subject: Re: Axis 1.* to Axis2 Migration Question
> >
> > This is a good place to start:
> >
> > http://ws.apache.org/axis2/1_1/migration.html
> >
> > HTH,
> > Robert
> >
> > On 12/13/06, Ted Jones <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > > I have a web service in Axis 1.3 that is defined using the
> > > following
>
> > > deployment descriptor:
> > >
> > > <service name="myservice" provider="java:MSG">
> > >
> > >
> > > <parameter name="allowedMethods" value="executeMyService"/>
> > >
> > > <parameter name="className"
> > > value="com.soap.service.MyWebService"/>
> > >
> > > </service>
> > >
> > > The method (executeMyService) accepts the soap request and
> > > response envelopes as arguments. What is the parallel
> > > implementation for
> Axis2?
> > >
> > >
> > >
> > > TIA,
> > >
> > > Ted Jones
> > >
> > >
> >
> > --------------------------------------------------------------------
> > - 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]
> >
> >
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service
> Developers)
>
> ---------------------------------------------------------------------
> 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]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service
Developers)
---------------------------------------------------------------------
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]
--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]