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