当前位置:首页 » 编程语言 » javaaxis调用

javaaxis调用

发布时间: 2022-05-18 04:11:18

‘壹’ 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的地址

‘贰’ java axis调用webservice,接口方法中的数组型参数应该怎么传参

虽然我没用过你这个开发webservice,但用过xfire,建议你把数组改为string传值,然后那边进行split再转为数组

‘叁’ “Java:用axis调用webservice方法时报(400)Bad Request错,请问您当时问题解决啦吗

在网上查了一下,可能是本地cookie隐私设置的问题。一般在上网浏览网站的时候第一次打开完网页再打开连接以后就出现HTTP 400 - 错误请求的问题。
解决的方法如下:
1、打开internet选项
2、删除所有的cookies
3、点隐私把隐私级别设置到最高阻止所有的cookie

这样浏览网页的时候就不会再出现HTTP 400 - 错误请求的问题了。但是浏览某些需要cookie的网站(如:论坛或需要登陆的站点)时候就无法登陆了,所以在浏览完后记得要把隐私级别降低调回来,登陆站点以后保留cookies就可以了。

断点调试下,先清空下服务器的Work再试试

‘肆’ 如何解决javaaxis调用webservice服务器操作异常

一、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启动异常 错误: 程序包org.apache.axis.client org.apache.axis.encoding不存在

项目缺少jar依赖吧。

看下 maven pom.xml文件里面是不是 没有

<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>

‘陆’ java axis2 调用webservice 怎么捕获超时异常(即超时了让它停下来,不要报错)

超时分两种,一种是客户端请求连接超时,一种是服务端处理时间过长,客户端等待超时。 看你要捕获哪一种?
第一种你可以捕获ConnectTimeOutException;
第二种你可以在客户端设置超时时间,比如发起请求之后服务端5秒还未返回处理后的结果就认为超时;
在异常处理中执行正常业务逻辑即可。

‘柒’ 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,接口方法中的数组型参数

虽然我没用过你这个开发webservice,但用过xfire,建议你把数组改为string传值,然后那边进行split再转为数组java axis调用webservice,接口方法中的数组型参数

‘玖’ java用axis调用web services出错,请各位牛人看看是啥有关问题

首先你得先排查是你自己代码的异常还是webservice出错了,如果是webservice的错,那么客户端只能自己try catch 处理了,或者去修改webservice车源码重新发布。
如果是客户端自己的异常,那就找出异常的地方,做处理了。参考:
http://..com/question/626025226575898604.html?from=pubpage&msgtype=2

还有,java调用webservice其实可以让eclipse帮我们生成客户端调用代码的,只要知道wsdl就可以了。

‘拾’ 如何解决java axis 调用webservice服务器操作异常

安装Eclipse-jee,下载Axis2的最新版本Axis2 1.4.1 Release,其内部结构为 开发前配置:在Eclipse的菜单栏中,Window --> Preferences --> Web Service --> Axis2 Perferences,在Axis2 runtime location中选择Axis2解压缩包的位置,设置好后,点"OK"即行。 新建一个Java Project,命名为"WS_01",在"WS_01"项目上new --> other,找到"Web Services"下面的"Web Service"; 在出现的Web Services对象框,在Service implementation中点击"Browse",进入Browse Classes对象框,查找到我们刚才写的写的CalculateService类。(如下图)。点击"ok",则回到 Web Service话框。 在Web Service对话框中,将Web Service type中的滑块,调到"start service“的位置,将Client type中的滑块调到"Test client"的位置。 在Web Service type滑块图的右边有个"Configuration",点击它下面的选项,进入Service Deployment Configuration对象框,在这里选择相应的Server(我这里用Tomcat6.0)和Web Service runtime(选择Apache Axis2) 点OK后,则返回到Web Service对话框,同理,Client type中的滑块右边也有"Configuration",也要进行相应的置,步骤同上。完成后,Next --> next即行。到了Server startup对话框,有个按键"start server",点击它,则可启动Tomcat服务器了。 等启完后,点击"next -- > next",一切默认即行,最后,点击完成。最后,出现如下界面:(Web Service Explorer),我们在这里便可测试我们的Web服务。 测试比较简单,例如,我们选择一个"plus"的Operation,出现下图,在x的输入框中输入2,在y的 输入框中输入3,点击"go",便会在status栏中显示结果5.0。其他方法的测试也类似。

热点内容
原神电脑配置怎么玩不卡 发布:2025-07-20 18:07:06 浏览:955
反编译获取原代码 发布:2025-07-20 17:49:43 浏览:492
plc编译怎么找 发布:2025-07-20 17:48:56 浏览:162
无效的宏名称将编译哑宏 发布:2025-07-20 17:48:16 浏览:155
250万解压 发布:2025-07-20 17:44:52 浏览:620
腾讯视频上传广告 发布:2025-07-20 17:35:55 浏览:406
掘地求升免费脚本 发布:2025-07-20 17:32:06 浏览:962
linux设置python环境变量 发布:2025-07-20 17:22:49 浏览:242
柱底层加密区 发布:2025-07-20 17:16:20 浏览:913
安卓ids是什么文件 发布:2025-07-20 17:16:14 浏览:668