how to deploy webservice onto web application at websphere 6.1

来源:互联网 发布:淘宝怎么开直播视频 编辑:程序博客网 时间:2024/04/28 07:16

1.  create java class to provide a call function for exteral system

2.  create webservice by  this java classes, click next by next to complete, in the end a wsdl file will be generated under webpath/WSDL folder

    

3.  edit web.xml as below

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
    <display-name>StarrWebService</display-name>
   
    <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <display-name>AxisServlet</display-name>
        <servlet-class>
            org.apache.axis.transport.http.AxisServlet   // this will call server-config.wsdd, make sure the axis.jar is imported
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>AdminServlet</servlet-name>
        <display-name>AdminServlet</display-name>
        <servlet-class>
            org.apache.axis.transport.http.AdminServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
   
   
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/servlet/AxisServlet</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
 


    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

5. edit server-config.wsdd as below

<?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="starrpass" />
  <parameter name="attachments.Directory" value="/tmp/attachments" />
  <parameter name="dotNetSoapEncFix" value="true" />
  <parameter name="enableNamespacePrefixOptimization" value="false" />
  <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="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>
 </service>
 
 <service name="Version" provider="java:RPC">
  <parameter name="allowedMethods" value="getVersion" />
  <parameter name="className" value="org.apache.axis.Version" />
 </service> 
 

  <service name="testService" provider="java:RPC">
    <parameter name="className" value="com.zms.testWebService"/>
    <parameter name="allowedMethods" value="*"/>
  </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>

6. export war file and deploy it.

7. test it

    Service s = new Service();
    Call call = (Call)s.createCall();

    call.setTargetEndpointAddress(new java.net.URL(endpoint));   
    call.setOperationName(new QName(endpoint, "sayHello"));

   call.invoke(new object[]{"hi, it's webservice"});

 

原创粉丝点击