解決 -- java 調用webservice 服務端收到參數為null

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

我的客戶端和服務端都寫的很簡單,只是調用服務的時候,

服務端得不到參數,后來發現只改一個地方就可以了:

call.addParameter("arg0", XMLType.XSD_DATE,ParameterMode.IN); ?這樣是OK的,

call.addParameter("name", XMLType.XSD_DATE,ParameterMode.IN); 這樣服務端接收到的參數就是 null 。

?

就是紅色位置,參數不能寫具體的參數名,

要寫為: ??arg0 ,我在網上看到說可以改設置,但是 默認要寫為這樣才能傳參成功。

?

?

服務端:

?

?

package com.boco.esb.receive;import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
//import org.apache.axis2.context.MessageContext;  @WebService(serviceName="HermesService",targetNamespace = "http://com.boco.esb.receive")
public class HermesService {//該方法就是要暴露給其他應用程序調用的方法  @WebMethod(operationName="example")public String example(String param){  System.out.println("------------------- 調用服務端方法 !-----------------");StringBuffer paramStr = new StringBuffer(param);System.out.println("-----param參數為:"+paramStr);return param;  }  /** * 認證*/  public static void checkHesder() throws Exception  {}//這里我們使用main方法來發布我們的service  public static void main(String[] args){  /*** 參數1:服務的發布地址* 參數2:服務的實現者* Endpoint 會重新啟動一個線程*/Endpoint.publish("http://localhost:7081/Hermes/services/HermesService",new HermesService());  System.out.println("------- com.boco.esb.receive的HDMP的服務啟動成功!   -----   ~_~   ----- ");  }  }

?

?

?

?

?

客戶端:

?

?

package hdmpClient;import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;import org.apache.axis.AxisEngine;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.message.SOAPHeaderElement;
import org.apache.axis.soap.SOAPConstants;public class Client extends org.apache.axis.client.Stub{public static void main(String[] args) {try {new Client().get();} catch (Exception e) {e.printStackTrace();}}private void get() throws Exception {Service service = new Service() ;  Call call = (Call) service.createCall();SOAPHeaderElement serviceCode = new SOAPHeaderElement(new QName("cn.com.boco.HermesService", "ServiceCode"), "SRCH.SERVICE.TEST_GIS.GIS_APP");SOAPHeaderElement userName = new SOAPHeaderElement(new QName("cn.com.boco.HermesService", "UserName"), "IRMS");SOAPHeaderElement authCode = new SOAPHeaderElement(new QName("cn.com.boco.HermesService", "AuthCode"), "ca45672f-2c9a-4961-9597-a6f562fdf787");SOAPHeaderElement eventId = new SOAPHeaderElement(new QName("cn.com.boco.HermesService", "EventId"), "41591591");call.addHeader(serviceCode);call.addHeader(userName);call.addHeader(authCode);call.addHeader(eventId);call.setTargetEndpointAddress("http://localhost:7081/Hermes/services/HermesService");call.setSOAPActionURI("http://com.boco.esb.receive/example");call.setOperationName(new QName("http://com.boco.esb.receive", "example")); // example 為服務端接口方法名  call.setEncodingStyle(null);call.setUseSOAPAction(true);call.setProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE);call.setProperty(AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);call.setSOAPVersion(SOAPConstants.SOAP11_CONSTANTS);setRequestHeaders(call);setAttachments(call);// 設置接口參數與類型( 以下2種都能正常傳參 )
//		call.addParameter(new QName("arg0"),XMLType.XSD_STRING, ParameterMode.IN);call.addParameter("arg0", XMLType.XSD_DATE,ParameterMode.IN);  call.setReturnType(XMLType.XSD_STRING);// 設置返回數據類型  String[] param = new String[1]; // 參數param[0] = "參數1,參數2,參數3"; // 實際可用jsonString result = (String) call.invoke(param);System.out.println("result為--------------------"+result);}}

?

?

?

?

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451118.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451118.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451118.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

fastJson性能測試

測試裝備: mac pro 6核12線程 測試代碼: (1)序列化對象: import lombok.Data;Data public class User {int id;String name;int age;String address; } (2)序列化邏輯: import…

避免流量高峰期CDN問題的10個方法

在視頻流媒體中,因平臺火爆而出現問題是件好事。至少,這比根本沒有觀眾要好。\\也許你正在使用世界級的CDN,但是,在大型賽事期間,當CDN的服務器和對等點流量變得飽和的時候,一些用戶還是無法享受到流暢的體…

Android應用進入爆發期 手機游戲仍是市場重心

近日,91無線發布了《91無線移動應用發展趨勢報告(Android版)》。報告顯示,2012年,無論Android移動應用用戶下載還是開發者研發均呈爆發態勢,手機游戲仍是市場重心所在。同時,Android移動應用下載…

MQTT Client軟件-MQTTBox

最近發現了一個連接mqtt broker的軟件:MQTTBox。GitHub地址:https://github.com/workswithweb/MQTTBox 官網網站的介紹為:使用MQTTBox增強你的物聯網流程 MQTT客戶端特性 支持TCP、TLS、Web Sockets和安全的Web Sockets連接MQTT服務器支持各種…

fastJson toJSONString注意點

fastJosn是阿里爸爸推出一款高性能序列化工具,號稱最快的json序列化工具。不過好像也就那樣,在量比較大的時候優勢才會明顯。單次序列化時間還是會達到幾十毫秒的級別。 Fastjson is a Java library that can be used to convert Java Objects into the…

WebService中文件傳輸

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 WebService處理傳遞普通的信息,還可以傳輸文件,下面介紹WebService是怎么完成文件傳輸的。 1、 首先編寫服務器端…

Django框架-Form組件

一、DjangoForm組件介紹 我們之前在html頁面中利用form表單向后端提交數據時,都會寫一些獲取用戶輸入的標簽并且用form標簽把它們包起來。 與此同時我們在好多場景下都需要對用戶的輸入做校驗,比如驗證用戶是否輸入,輸入的長度和格式等是否正…

中國經濟轉型知易行難

摘要:一個亞洲國家正在崛起,出口機器勢不可擋,財富快速增長,覺得美國已是過去,自己的時代已經到來。這是2012年的中國?沒錯———但也是上世紀80年代的日本。 美國《芝加哥論壇報》網站5月20日文章&#xf…

進程和線程的剖析

進程和線程的區別?什么時候用進程?什么時候用線程? 答:首先得知道什么是進程什么是線程? 我的理解是進程是指在系統中正在運行的一個應用程序;程序一旦運行就是進程,或者更專業化來說&#xff1…

解決 java.net.ConnectException: Connection refused: connect 異常

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 一、 我的情況很簡單: 只是因為我調用服務端接口方法包名沒有寫對,應該如下面代碼中這樣寫: call.…

主席樹的各類模板(區間第k大數【動,靜】,區間不同數的個數,區間=k的個數)...

取板粗 好東西來的 1.(HDOJ2665)http://acm.hdu.edu.cn/showproblem.php?pid2665 (POJ2104)http://poj.org/problem?id2104 (POJ2761)http://poj.org/problem?id2761 題意:求區間第K大&…

java類內部的變量

類內部的變量分為兩部分: 一.類的成員變量 在類內部,變量定義部分,定義的變量。 二.局部變量 在類內方法體中定義的變量和方法中涉及的變量。 成員變量和局部變量的區別: (1)成員變量在整個類中都有效…

騰訊搜搜退出PC搜索領域:百度搜狗迎來雙龍競爭

摘要:據北京商報報道,上周末,騰訊對公司組織架構進行了大規模調整。業內普遍認為,搜搜并入騰訊無線后,這個獨立搜索平臺將被合并,失去獨立性,也將令搜搜官網域名soso.com走向“沒落”。據北京商…

facade-pattern外觀模式

外觀模式: 外觀模式是面向對象編程中的重要設計模式。外觀類用來掩蓋復雜的內部邏輯,為用戶提供簡潔統一的服務接口。外觀類的主要功能如下: 1.通過提供簡明的對外API接口,來提高程序的可閱讀性和間接性。 2.提供通用的特定功能…

Web Service 客戶端,調用服務方法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 只是最簡單的調用web service 服務,至于要傳什么參數全看到業務了。 以下是最簡單的調用方式 : package hdmp…

分享Spring Cloud分布式微服務架構圖

分布式、微服務、云架構JAVA語言開發、跨平臺、高性能、高可用、安全、服務化、模塊化、組件化、驅動式開發模式 從現在開始,我這邊會將近期研發的springcloud微服務云架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友&#xff0…

返回一個list的全部 倒敘排列的方法

#反向迭代一個listlist[2,4,6,4,3,7,5,45,23,6,5,32,6,52,324,23,65,76,3,234,6,3,4,356,7,74,234,35,7,86]def funrev(list): list1[] for i in range(len(list)): list1.append(list[-i-1]) print(list1) return list1print(************************)lis…

互聯網手機潮進入PK時代:周鴻祎激戰小米雷軍

摘要:事實上,周鴻祎本人也多次強調,對于對手他一向實事求是,“對小米手機這種模式持肯定態度,它是第一個做互聯網手機的”。花費精力做出漂亮的銷售業績,這是互聯網手機最關鍵命題,配置戰、價格…

很多人問為什么使用聯合索引,為什么不建兩個單獨的索引呢?

So why not just create two indexes, one on last_name and one on first_name? You could do that, but MySQL won’t use them both at the same time. In fact, MySQL will only ever use one index per table per query—except for UNIONs.[3] This fact is important e…

oracle表被鎖了怎么處理

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 首先你要知道表鎖住了是不是正常鎖?因為任何DML語句都會對表加鎖。你要先查一下是那個會話那個sql鎖住了表,有可…