㈠ (java) axis 調用 webserver客戶端
public class Axis2WsClient{
public Object[] call(String endPoint, String ns, String method,
Object[] args, Class[] resultClass,Class<?> serviceClass) {
try {
RPCServiceClient client = new RPCServiceClient();
Options option = client.getOptions();
option.setAction(method);
option.setCallTransportCleanup(true);
EndpointReference endpoint = new EndpointReference(endPoint);
option.setTo(endpoint);
QName name = new QName(ns, method);
return client.invokeBlocking(name, args, resultClass);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
㈡ 如何解決java axis 調用webservice伺服器操作異常
如何解決java axis 調用webservice伺服器操作異常
報錯信息為:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.ConnectException: Connection refused: connect
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
㈢ Java 使用axis調用webservice介面,第三方提供的介面有一個自己定義的類:com.model.Result
向提供介面自定義類的第三方索要jar包文件放在本地。
㈣ java 如何調用 axis webservice
import java.io.*;
import java.util.*;
import java.net.*;
import org.w3c.dom.*;
import org.apache.soap.util.xml.*;
import org.apache.soap.*;
import org.apache.soap.encoding.*;
import org.apache.soap.encoding.soapenc.*;
import org.apache.soap.rpc.*;
import org.apache.soap.transport.http.SOAPHTTPConnection;
public class testClient {
public static void main(String[] args) throws Exception {
URL url = new URL ("http://192.168.0.4/yundan/service1.wsdl");
//改成你的地址
SOAPMappingRegistry smr = new SOAPMappingRegistry ();
StringDeserializer sd = new StringDeserializer ();
smr.mapTypes (Constants.NS_URI_SOAP_ENC, new QName ("", "Result"), null, null, sd);
// 創建傳輸路徑和參數
SOAPHTTPConnection st = new SOAPHTTPConnection();
// 創建調用
Call call = new Call ();
call.setSOAPTransport(st);
call.setSOAPMappingRegistry (smr);
call.setTargetObjectURI ("http://tempuri.org/message/");
call.setMethodName("addNumbers");
call.setEncodingStyleURI ("http://schemas.xmlsoap.org/soap/encoding/");
Vector params = new Vector();
params.addElement(new Parameter("NumberOne", Double.class, "10", null));
params.addElement(new Parameter("NumberTwo", Double.class, "25", null));
call.setParams(params);
Response resp = null;
try {
resp = call.invoke (url, "http://tempuri.org/action/Hello2.addNumbers");
}
catch (SOAPException e) {
System.err.println("Caught SOAPException (" + e.getFaultCode () + "): " + e.getMessage ());
return;
}
// 檢查返回值
if (resp != null && !resp.generatedFault()) {
Parameter ret = resp.getReturnValue();
Object value = ret.getValue();
System.out.println ("Answer--> " + value);
}
else {
Fault fault = resp.getFault ();
System.err.println ("Generated fault: ");
System.out.println (" Fault Code = " + fault.getFaultCode());
System.out.println (" Fault String = " + fault.getFaultString());
}
}
}
你可以參考一下這個.
URL就是axis的地址
㈤ 如何解決javaaxis調用webservice伺服器操作異常
js">一、WebService在cs後台程序中的調用A、通過<ahref="https://www..com/s?wd=%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4&tn=44039180_cpr&fenlei=-w9Uz4Bmy-bIi4WUvYETgN-"target="_blank"class="-highlight">命名空間</a>和類名直接調用示例:WebServicews=newWebService();strings=ws.HelloWorld();B、通過添加WEB引用的方式調用,首先添加WEB引用,通過URL指向WEBSERVICE,指定WEB引用名,假設為KK;示例:kk.WebServicen=newkk.WebService();stringss=n.HelloWorld();二、WebService在前台頁面的JS調用方法1、首先通過下面的方法把Webservice在前台引用進來2、然後就可以通過JS程序進行調用,示例如下:functiona(){WebService.HelloWorld(onresult);}//這里的onresult是<ahref="https://www..com/s?wd=%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0&tn=44039180_cpr&fenlei=-w9Uz4Bmy-bIi4WUvYETgN-"target="_blank"class="-highlight">回調函數</a>functiononresult(result){alert(result);}functionb(){WebService.add(1,2,onreturn)}functiononreturn(result){alert(result);}//下面的'context'是上下文,可以通過回到函數通過重載的方式獲得;functionc(){WebService.div(1,1,onresultC,onerror,'context');}functiononresultC(res,c){alert(res);alert(c);}//onerror是獲得異常信息的<ahref="https://www..com/s?wd=%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0&tn=44039180_cpr&fenlei=-w9Uz4Bmy-bIi4WUvYETgN-"target="_blank"class="-highlight">回調函數</a>,下面給出了獲得異常信息的方法functiononerror(error){vara="";a=String.format("獲取<ahref="https://www..com/s?wd=%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF&tn=44039180_cpr&fenlei=-w9Uz4Bmy-bIi4WUvYETgN-"target="_blank"class="-highlight">伺服器端</a>異常的具體類型:{0} 獲取詳細的異常描述信息:{1} 獲取造成異常的:{2} 獲取<ahref="https://www..com/s?wd=%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF&tn=44039180_cpr&fenlei=-w9Uz4Bmy-bIi4WUvYETgN-"target="_blank"class="-highlight">伺服器端</a>異常的堆棧跟蹤信息:{3} 獲取一個布爾值,表示異常是否是由於網路連接超時造成的{4}",error.get_exceptionType(),error.get_message(),error.get_statusCode(),error.get_stackTrace(),error.get_timedOut())alert(a);}a();b();c();
分享
㈥ java怎麼使用axis調用webservice
方式一:生成客戶端代碼調用方式。
通過插件工具生成客戶端代碼進行調用。例如:存在一服務為 http://127.0.0.1:8000/axis2/services/SMSSendService?wsdl通過插件可以生成SMSSendServiceStub.Java和SMSSendServiceCallbackHandler.java類。調用的客戶端代碼如:
try {
SMSSendServiceStub stub=new SMSSendServiceStub();
SMSSendServiceStub.method1 m1=new SMSSendServiceStub.method1();
m1.setParam1("xxx");
try {
String ret=stub.multiSend(m1).get_return();
System.out.print(ret);
} catch (RemoteException e) {
e.printStackTrace();
}
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
方式二:使用axis2.rpc.client.RPCServiceClient方式調用。
調用的代碼簡單舉例如下:
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
......
try {
final String endpoint = "http://127.0.0.1:8000/axis2/services/SMSSendService";
String opName = "method1";
String param="xxx";
Object[] opArgs = new Object[] { param };
Class<?>[] opReturnType = new Class[] { String[].class };
RPCServiceClient serviceClient = new RPCServiceClient();//此處RPCServiceClient 對象實例建議定義成類中的static變數,否則多次調用會出現連接超時的錯誤。
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(endpoint);
options.setTo(targetEPR);
QName opQName = new QName("http://service.ws.sms.ipcc.ydtf.com",
opName);
Object[] ret = serviceClient.invokeBlocking(opQName, opArgs,
opReturnType);
System.out.println(((String[]) ret[0])[0]);
} catch (AxisFault e) {
e.printStackTrace();
}
㈦ 如何解決java axis 調用webservice伺服器操作異常
怎麼操作異常了,利用axis調用webService 有好幾種方法,可以通過插件生成arr文件,也可以直接調用。
㈧ java axis2 調用webservice
HelloWorldLocator loc= new HelloWorldLocator();
try
{
HelloWorldHttpBindingStub stub = (HelloWorldHttpBindingStub)loc.getHelloWorldHttpPort();
stub.XXX(new XXXRequest());
}
catch (RemoteException e)
{
e.printStackTrace();
}
catch (ServiceException e)
{
e.printStackTrace();
}
㈨ 如何解決java axis 調用webservice伺服器操作異常
解決的代碼如下:
一、WebService在cs後台程序中的調用
A、通過命名空間和類名直接調用
示例:
WebService ws = new WebService();
string s = ws.HelloWorld();
B、通過添加WEB引用的方式調用,首先添加WEB引用,通過URL指向WEBSERVICE,
指定WEB引用名,假設為KK;
示例:
kk.WebService n = new kk.WebService();
string ss=n.HelloWorld();
二、WebService在前台頁面的JS 調用方法
1、首先通過下面的方法把Webservice在前台引用進來
2、然後就可以通過JS程序進行調用,示例如下:
function a()
{
WebService.HelloWorld(onresult);
}
//這里的onresult是回調函數
function onresult(result)
{
alert(result);
}
function b()
{
WebService.add(1,2,onreturn)
}
function onreturn(result)
{
alert(result);
}
//下面的'context'是上下文,可以通過回到函數通過重載的方式獲得;
function c()
{
WebService.div(1,1,onresultC,onerror,'context');
}
function onresultC(res,c)
{
alert(res);
alert(c);
}
//onerror是獲得異常信息的回調函數,下面給出了獲得異常信息的方法
function onerror(error)
{
var a="";
a=String.format("獲取伺服器端異常的具體類型:{0}\t\n獲取詳細的異常描述信息:{1}\t\n獲取造成異常的:{2}\t\n獲取伺服器端異常的堆棧
跟蹤信息:{3}\t\n獲取一個布爾值,表示異常是否是由於網路連接超時造成的{4}",
error.get_exceptionType(),
error.get_message(),
error.get_statusCode(),
error.get_stackTrace(),
error.get_timedOut())
alert(a);
}
a();
b();
c();
㈩ java中axis調用WebService的小例子
今天研究了一天,網上網路一下AXIS2教程就可以了