创建axis2 webservice服务端方法一 我不是女神ヾ 2022-05-02 23:56 266阅读 0赞 **一、准备工作** 导入需要的jar包: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2ODYzOA_size_27_color_FFFFFF_t_70] **二、配置web.xml** 在web工程的web.xml中添加如下配置: <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> <load-on-startup>15</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> **三、配置server-config.wsdd文件** 在WEB-INF下添加WebService核心文件server-config.wsdd: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2ODYzOA_size_27_color_FFFFFF_t_70 1] <?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="D:\myproject\calileo\xxx\WebContent\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" /> <!-- 核心重点:服务发布,name:表示发布的service名 --> <service name="SjrkkService" provider="java:RPC"> <!-- 发布的service接口类,调用SjrkkService这个服务,实际执行的此接口 --> <parameter name="className" value="com.xxx.ws.SjrkkService" /> </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> **四、测试WSDL** 在浏览器输入:[http://localhost:8080/xxx/services/SjrkkService?wsdl][http_localhost_8080_xxx_services_SjrkkService_wsdl] //xxx和server-config.wsdd文件中的xxx一致,访问结果如下: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2ODYzOA_size_27_color_FFFFFF_t_70 2] **五、调WebService** /** * 调用webservice的方法. * @param url wsdl链接 * @param method 调用的接口 * @param idCard 传入的参数 * @return * @throws Exception */ private String getWebServiceResult( String url, String method, String idCard) throws Exception{ String rtnXml = null; try { String endpoint = url; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpoint)); call.setOperationName(method); rtnXml = (String) call.invoke(new Object[]{idCard}); } catch (Exception e) { e.printStackTrace(); } return rtnXml; } 转载:[https://blog.csdn.net/yangwenxue\_admin/article/details/45167817][https_blog.csdn.net_yangwenxue_admin_article_details_45167817] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2ODYzOA_size_27_color_FFFFFF_t_70]: /images/20220503/22c0c4aeb32f4d8e9581921a4bad0a5b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2ODYzOA_size_27_color_FFFFFF_t_70 1]: /images/20220503/9adf8c9e8bc84ac186f9cba5e9f3aebb.png [http_localhost_8080_xxx_services_SjrkkService_wsdl]: http://localhost:8080/xxx/services/SjrkkService?wsdl [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg2ODYzOA_size_27_color_FFFFFF_t_70 2]: /images/20220503/e5dd99c9313d42c497042077128a45a7.png [https_blog.csdn.net_yangwenxue_admin_article_details_45167817]: https://blog.csdn.net/yangwenxue_admin/article/details/45167817
还没有评论,来说两句吧...