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:10:36 UTC
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