You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by ra...@jpmchase.com on 2005/09/01 21:53:07 UTC
RE: Web Sevice Auto Deployment
Thanks Feng! why do I get this error ?
AxisFault
faultCode: {http://xml.apache.org/axis/}Client
faultSubcode:
faultString: No such operation 'inquiryRequest'
I am able to go http://testserver:9080/WSWAR/services/DataInquiry and
it says
DataInquiry
Hi there, this is an AXIS service!
Perhaps there will be a form for invoking the service here...
This means the webservice is available.. but I don't know why it gives me
No such operation error. I deployed the same one on my PC it works fine
.. but I need to deploy it in the server
"Feng Xie \(fxie\)" <fx...@cisco.com>
09/01/2005 03:21 PM
Please respond to axis-user
To: <ax...@ws.apache.org>
cc:
Subject: RE: Web Sevice Auto Deployment
Raj:
I agree with your understanding about the deployment based my own
experience. Baseline: while the Axis engine is not running, direct
editting of server-config.wsdd will has the same effect of running
ClientAdmin while the Axis engine is running.
Feng
From: raj.x.arunmugan@jpmchase.com [mailto:raj.x.arunmugan@jpmchase.com]
Sent: Thursday, September 01, 2005 3:11 PM
To: axis-user@ws.apache.org
Subject: Web Sevice Auto Deployment
Hello I created a simple Web Application in WSAD and deployed it
successfully in my WebSphere Test Environment that comes with WSAD. I ran
axis AdminClient to deploy the web service and noted that it created
server-config.wsdd under WEB-INF/classes on my workspace
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="disablePrettyXML" value="true"/>
<parameter name="adminPassword" value="admin"/>F
<parameter name="dotNetSoapEncFix" value="true"/>
<parameter name="enableNamespacePrefixOptimization" value="true"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="attachments.implementation"
value="org.apache.axis.attachments.AttachmentsImpl"/>
<parameter name="sendXsiTypes" value="true"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session"/>
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request"/>
<parameter name="extension" value=".jwr"/>
</handler>
</requestFlow>
</globalConfiguration>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<service name="DataInquiry" provider="java:RPC" style="document" use="literal">
<parameter name="wsdlServicePort" value="DataInquiry"/>
<parameter name="schemaQualified" value="java:com.ws.exceptions"/>
<parameter name="className"
value="com.ws.datainquiry.DataInquirySOAPBindingSkeleton"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="typeMappingVersion" value="1.2"/>
<parameter name="wsdlServiceElement" value="DataInquiryService"/>
<parameter name="wsdlTargetNamespace" value="urn:DataInquiry2"/>
<parameter name="wsdlPortType" value="DataInquiry"/>
<parameter name="scope" value="Session"/>
<parameter name="schemaUnqualified" value="urn:DataInquiry2"/>
<typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="" qname="ns1:InvalidDataFormatException"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.ws.datainquiry.exceptions.InvalidDataFormatException" xmlns:ns1="java:com.ws.exceptions"/>
<typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="" qname="ns2:inquiryResponse"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.ws.datainquiry.InquiryResponse" xmlns:ns2="urn:DataInquiry2"/>
<typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="" qname="ns3:inquiryRequest"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.ws.datainquiry.InquiryRequest" xmlns:ns3="urn:DataInquiry2"/>
</service>
<service name="AdminService" provider="java:MSG">
<parameter name="allowedMethods" value="AdminService"/>
<parameter name="enableRemoteAdmin" value="false"/>
<parameter name="className" value="org.apache.axis.utils.Admin"/>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>
<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion"/>
<parameter name="className" value="org.apache.axis.Version"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
<parameter name="qs:list"
value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs:wsdl"
value="org.apache.axis.transport.http.QSWSDLHandler"/>
<parameter name="qs.list"
value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs.method"
value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs:method"
value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs.wsdl"
value="org.apache.axis.transport.http.QSWSDLHandler"/>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>
Then I created a WAR file and deployed it in Websphere Application
Server .. I notice that my DataInquiry Web service is listed as one of the service . if I go the http://testserver:9080/WSWAR/services.( Remember I did not RUN the admin client to deploy the service on the application server) when I
try to invoke the service I am getting
a RemoteException with an AxisFault shown below
AxisFault
faultCode: {http://xml.apache.org/axis/}Client
faultSubcode:
faultString: No such operation 'inquiryRequest'
My understanding was.. if I have the service defined in the
server-config.wsdd I don't need to run the admin client on the
Application Server inorder to deploy the web service on the application
server.. since it is defined on server-config.wsdd .. axis will auto
deploy the service..( I don't know the mechanism behind admin and version
web servies , how they are auto deployed )
PLEASE correct me if I am wrong ( I hope so)... I wanted to run the
AdminClient but I don't have any user-id and password for the server ..I
have access only to the Web Sphere Admin Console. to deploy EAR or WAR
files
Thanks a lot in advance for your help/
Rja
Re: Web Sevice Auto Deployment
Posted by Mike Woinoski <ne...@pineneedleconsulting.com>.
Raj,
I don't know if this will help, but try changing the style attribute in your
<service> definition from "document" to "wrapped"
Re: deploying without AdminClient
You're correct: as long as server-config.wsdd is in WEB-INF, you don't need to
run AdminClient. And AdminService is a huge security hole in a production
system, so delete the <service> definition for both AdminService and Version
from your server-config.wsdd.
If you want still want to use deploy.wsdd (e.g., you generated deploy.wsdd with
WSDL2Java --server-side), generate server-config.wsdd with the Admin utility:
java org.apache.axis.utils.Admin -server deploy.wsdd
Hope this helps,
Mike
raj.x.arunmugan@jpmchase.com wrote:
>
> Thanks Feng! why do I get this error ?
>
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Client
> faultSubcode:
> faultString: No such operation 'inquiryRequest'
>
> I am able to go http://testserver:9080/WSWAR/services/DataInquiry
> and it says
>
>
> *DataInquiry*
>
> Hi there, this is an AXIS service!
>
> /Perhaps there will be a form for invoking the service here.../
>
> This means the webservice is available.. but I don't know why it gives
> me No such operation error. I deployed the same one on my PC it works
> fine .. but I need to deploy it in the server
>
>
>
>
>
> *"Feng Xie \(fxie\)" <fx...@cisco.com>*
>
> 09/01/2005 03:21 PM
> Please respond to axis-user
>
>
> To: <ax...@ws.apache.org>
> cc:
> Subject: RE: Web Sevice Auto Deployment
>
>
>
>
> Raj:
>
> I agree with your understanding about the deployment based my own
> experience. Baseline: while the Axis engine is not running, direct
> editting of server-config.wsdd will has the same effect of running
> ClientAdmin while the Axis engine is running.
>
> Feng
>
> ------------------------------------------------------------------------
> *From:* raj.x.arunmugan@jpmchase.com [mailto:raj.x.arunmugan@jpmchase.com] *
> Sent:* Thursday, September 01, 2005 3:11 PM*
> To:* axis-user@ws.apache.org*
> Subject:* Web Sevice Auto Deployment
>
>
> Hello I created a simple Web Application in WSAD and deployed it
> successfully in my WebSphere Test Environment that comes with WSAD. I
> ran axis AdminClient to deploy the web service and noted that it
> created server-config.wsdd under WEB-INF/classes on my workspace
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> <globalConfiguration>
> <parameter name="sendMultiRefs" value="true"/>
> <parameter name="disablePrettyXML" value="true"/>
> <parameter name="adminPassword" value="admin"/>F
> <parameter name="dotNetSoapEncFix" value="true"/>
> <parameter name="enableNamespacePrefixOptimization" value="true"/>
> <parameter name="sendXMLDeclaration" value="true"/>
> <parameter name="attachments.implementation"
> value="org.apache.axis.attachments.AttachmentsImpl"/>
> <parameter name="sendXsiTypes" value="true"/>
> <requestFlow>
> <handler type="java:org.apache.axis.handlers.JWSHandler">
> <parameter name="scope" value="session"/>
> </handler>
> <handler type="java:org.apache.axis.handlers.JWSHandler">
> <parameter name="scope" value="request"/>
> <parameter name="extension" value=".jwr"/>
> </handler>
> </requestFlow>
> </globalConfiguration>
> <handler name="LocalResponder"
> type="java:org.apache.axis.transport.local.LocalResponder"/>
> <handler name="URLMapper"
> type="java:org.apache.axis.handlers.http.URLMapper"/>
> <handler name="Authenticate"
> type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
> <service name="DataInquiry" provider="java:RPC" style="document"
> use="literal">
> <parameter name="wsdlServicePort" value="DataInquiry"/>
> <parameter name="schemaQualified" value="java:com.ws.exceptions"/>
> <parameter name="className"
> value="com.ws.datainquiry.DataInquirySOAPBindingSkeleton"/>
> <parameter name="allowedMethods" value="*"/>
> <parameter name="typeMappingVersion" value="1.2"/>
> <parameter name="wsdlServiceElement" value="DataInquiryService"/>
> <parameter name="wsdlTargetNamespace" value="urn:DataInquiry2"/>
> <parameter name="wsdlPortType" value="DataInquiry"/>
> <parameter name="scope" value="Session"/>
> <parameter name="schemaUnqualified" value="urn:DataInquiry2"/>
> <typeMapping
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle="" qname="ns1:InvalidDataFormatException"
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
> type="java:com.ws.datainquiry.exceptions.InvalidDataFormatException"
> xmlns:ns1="java:com.ws.exceptions"/>
> <typeMapping
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle="" qname="ns2:inquiryResponse"
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
> type="java:com.ws.datainquiry.InquiryResponse"
> xmlns:ns2="urn:DataInquiry2"/>
> <typeMapping
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle="" qname="ns3:inquiryRequest"
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
> type="java:com.ws.datainquiry.InquiryRequest"
> xmlns:ns3="urn:DataInquiry2"/>
> </service>
> <service name="AdminService" provider="java:MSG">
> <parameter name="allowedMethods" value="AdminService"/>
> <parameter name="enableRemoteAdmin" value="false"/>
> <parameter name="className" value="org.apache.axis.utils.Admin"/>
> <namespace>http://xml.apache.org/axis/wsdd/</namespace>
> <namespace>http://xml.apache.org/axis/wsdd/</namespace>
> </service>
> <service name="Version" provider="java:RPC">
> <parameter name="allowedMethods" value="getVersion"/>
> <parameter name="className" value="org.apache.axis.Version"/>
> </service>
> <transport name="http">
> <requestFlow>
> <handler type="URLMapper"/>
> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
> </requestFlow>
> <parameter name="qs:list"
> value="org.apache.axis.transport.http.QSListHandler"/>
> <parameter name="qs:wsdl"
> value="org.apache.axis.transport.http.QSWSDLHandler"/>
> <parameter name="qs.list"
> value="org.apache.axis.transport.http.QSListHandler"/>
> <parameter name="qs.method"
> value="org.apache.axis.transport.http.QSMethodHandler"/>
> <parameter name="qs:method"
> value="org.apache.axis.transport.http.QSMethodHandler"/>
> <parameter name="qs.wsdl"
> value="org.apache.axis.transport.http.QSWSDLHandler"/>
> </transport>
> <transport name="local">
> <responseFlow>
> <handler type="LocalResponder"/>
> </responseFlow>
> </transport>
> </deployment>
>
> Then I created a WAR file and deployed it in Websphere Application
> Server .. I notice that my DataInquiry Web service is listed as one
> of the service . if I go the http://testserver:9080/WSWAR/services.(
> Remember I did not *RUN *the admin client to deploy the service on the
> application server) when I try to invoke the service I am getting
>
> a RemoteException with an AxisFault shown below
>
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Client
> faultSubcode:
> faultString: No such operation 'inquiryRequest'
>
> My understanding was.. if I have the service defined in the
> server-config.wsdd I don't need to run the admin client on the
> Application Server inorder to deploy the web service on the application
> server.. since it is defined on server-config.wsdd .. axis will auto
> deploy the service..( I don't know the mechanism behind admin and
> version web servies , how they are auto deployed )
>
> PLEASE correct me if I am wrong ( I hope so)... I wanted to run the
> AdminClient but I don't have any user-id and password for the server ..I
> have access only to the Web Sphere Admin Console. to deploy EAR or WAR
> files
>
> Thanks a lot in advance for your help/
> Rja
>