RE: Axis 1.* to Axis2 Migration Question
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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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]
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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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]
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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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]
Re: Axis 1.* to Axis2 Migration Question
Hi Ted Can you show us the operation wsdl:operation name=get 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: axis-user@ws.apache.org; [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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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]
Re: Axis 1.* to Axis2 Migration Question
make sure you set the soap action correctly. -- dims On 12/14/06, Ted Jones [EMAIL PROTECTED] wrote: 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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] -- Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Axis 1.* to Axis2 Migration Question
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 documentationInput message for operation Books/getBookCollection./documentation part name=Books_getBookCollection_getBookCollectionInput element=schema1:getBookCollectionByTitleRequest / /message message name=Books_getBookCollection_getBookCollectionOutput documentationOutput 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: axis-user@ws.apache.org Subject: Re: Axis 1.* to Axis2 Migration Question Hi Ted Can you show us the operation wsdl:operation name=get 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
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 documentationInput message for operation Books/getBookCollection./documentation part name=Books_getBookCollection_getBookCollectionInput element=schema1:getBookCollectionByTitleRequest / /message message name=Books_getBookCollection_getBookCollectionOutput documentationOutput 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: axis-user@ws.apache.org Subject: Re: Axis 1.* to Axis2 Migration Question Hi Ted Can you show us the operation wsdl:operation name=get 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
RE: Axis 1.* to Axis2 Migration Question
The soap action is set. Is this value being used to determine which operation to execute? Is there a way to force it to pick the method specified in the service.xml that uses the OMElement methodName(OMElement element) signature? Thanks, Ted -Original Message- From: Davanum Srinivas [mailto:[EMAIL PROTECTED] Sent: Thursday, December 14, 2006 1:50 PM To: axis-user@ws.apache.org Subject: Re: Axis 1.* to Axis2 Migration Question make sure you set the soap action correctly. -- dims On 12/14/06, Ted Jones [EMAIL PROTECTED] wrote: 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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] -- 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]
Re: Axis 1.* to Axis2 Migration Question
Yes, if you look at the autogenerated wsdl, you can see which soap action to set for which operation. http://wso2.org/library/176 -- dims On 12/14/06, Ted Jones [EMAIL PROTECTED] wrote: The soap action is set. Is this value being used to determine which operation to execute? Is there a way to force it to pick the method specified in the service.xml that uses the OMElement methodName(OMElement element) signature? Thanks, Ted -Original Message- From: Davanum Srinivas [mailto:[EMAIL PROTECTED] Sent: Thursday, December 14, 2006 1:50 PM To: axis-user@ws.apache.org Subject: Re: Axis 1.* to Axis2 Migration Question make sure you set the soap action correctly. -- dims On 12/14/06, Ted Jones [EMAIL PROTECTED] wrote: 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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: axis-user@ws.apache.org 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] -- 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
RE: Axis 1.* to Axis2 Migration Question
Hmmm... I get this when trying to get to the Axis2 generated WSDL: error descriptionUnable 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=falsecom.test.soap.lds.service.DataServiceWebService/paramete r parameter name=allowedMethods locked=falseexecuteDataservice/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: axis-user@ws.apache.org 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 documentationInput message for operation Books/getBookCollection./documentation part name=Books_getBookCollection_getBookCollectionInput element=schema1:getBookCollectionByTitleRequest / /message message name=Books_getBookCollection_getBookCollectionOutput documentationOutput message for operation Books/getBookCollection./documentation part name=Books_getBookCollection_getBookCollectionOutput element=schema2:bookCollection / /message portType name=Books operation name=getBookCollection input message
Re: Axis 1.* to Axis2 Migration Question
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 descriptionUnable 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=falsecom.test.soap.lds.service.DataServiceWebService/paramete r parameter name=allowedMethods locked=falseexecuteDataservice/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: axis-user@ws.apache.org 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 documentationInput message for operation Books/getBookCollection./documentation part name=Books_getBookCollection_getBookCollectionInput element=schema1:getBookCollectionByTitleRequest / /message message name=Books_getBookCollection_getBookCollectionOutput documentationOutput message for operation Books/getBookCollection./documentation part name
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]
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: axis-user@ws.apache.org 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]