加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webService的调用

发布时间:2020-12-16 21:49:55 所属栏目:安全 来源:网络整理
导读:1、需要导入的jar包 ? ?? ? 2、配置web.xml文件 ???? ?? ? servlet ? ? ? ? ? servlet-nameAxisServlet/servlet-name ? ? ? ? ? servlet-classorg.apache.axis.transport.http.AxisServlet/servlet-class ? ? ? ? ? load-on-startup15/load-on-startup ? ? ?

1、需要导入的jar包

? ?? ?

wKiom1knlqWiRaMBAAA2YW__ETc615.png-wh_50

2、配置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> ?


3、配置server-config.wsdd文件

??????server-config.wsdd放在固定目在WEB-INF下,添加WebService核心文件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="D:myprojectcalileoxxxWebContentWEB-INFattachments" /> ?

? ? ? ? <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接口类?-->??
????????<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> ?



4、测试wsdl

?

在浏览器输入:http://localhost:8080/xxx/services/SjrkkService?wsdl????? //xxx和server-config.wsdd文件中的xxx一致,访问结果如下:

??



五、调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; ?

? ? }

??

// 以前项目调用,?转载地址: http://www.cnblogs.com/ywx-vashon/p/5452893.html

wKiom1knmkfT8P5TAADCH5Kqo5Q200.png-wh_50

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读