dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare

Weblogic 8.1上的Axis Webservice

2007-09-20 16:19:56 | 评论 (0) | 被访问(440)次

Rajarshi Ghosh
 


  - 打开Workshop

  - 创建一个Web服务项目(假设其名为“Webservices”)

  - 将Axis相关jar文件放置在"Webesrvices/WEB-INF/lib中

  - 为确保\Webservices\WEB-INF\lib总是会覆盖Web logic 8.1 webservcies.jar,在\Webservices\WEB-INF\weblogic.xml中添加以下条目:

  <container-descriptor>

  <prefer-web-inf-classes>true</prefer-web-inf-classes>

  </container-descriptor>

  - Axis提示,

  Web Logic 8.1附带的webservices.jar与Axis的saaj.jar冲突,妨碍了Axis 1.2的开箱即用功能。这样的冲突之所以存在,是因为Web Logic使用了javax.xml.soap. *包的一种旧定义。该包来自Java Web Services Developer Pack V1.0,而Axis使用的是J2EE 1.4中的较新修订版。

  - 为新服务\Webservices\WEB-INF\server-config.wsdd添加自动部署描述文件

  <?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"/>
<parameter name="attachments.Directory" value="/data/gprime/jakarta-tomcat-5.0.28/webapps/axis/WEB-INF/attachments"/>
<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="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="YourService" provider="java:RPC">
<parameter name="className" value="com.aum.YourService"/>
<parameter name="methodName" value="*"/>
<typeMapping
xmlns:ns="urn:com.aum"
qname="ns:YourRequest"
type="java:com.aum.YourRequest"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
<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>

  - 修改\Webservices\WEB-INF\web.xml,添加如下条目

  <servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AdminServlet</servlet-name>
<display-name>Axis Admin Servlet</display-name>
<servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>100</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>
<mime-mapping>
<extension>wsdl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>

  - 现在您就应该能够访问YourService Web服务了。

原文出处:http://dev2dev.bea.com/blog/rajarshighosh/archive/2007/05/axis_webservice.html



Tags: webservice axis weblogic8.1 services web 服务 服务
文章评论:(以下网友留言只代表个人观点,不代表BEA观点和立场)
暂时没有评论!

2007年09月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
             
RSS订阅

Rajarshi Ghosh's Blog搜索

Archives

2007年09月