当前位置:首页 » 编程语言 » axisjava

axisjava

发布时间: 2023-02-15 10:31:18

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();
}

② 怎么用axis把wsdl文件生成相应的java类

安装好axis,他自带一个java2wsdl,直接用他就可以了
在命令通过java执行:
H:\axis-1_4\lib>java -cp g:/611 code/pm/src/share;axis.jar;axis-ant.jar;commons-
discovery-0.2.jar;commons-logging-1.0.4.jar;jaxrpc.jar;log4j-1.2.8.jar;saaj.jar;
wsdl4j-1.5.1.jar org.apache.axis.wsdl.Java2WSDL -o p3e.wsdl -n "urn:P3EWebservi
ces" -p"p3e.webservice" "urn:P3EWebservices" p3e.webservice.P3EWebservices
-cp后边的包都要有,-o代表要转的wsdl,-p代表包

③ 怎么用axis 进行java web开发

axis 是webservice。

建议直接学习cxf,在apache官网有文档、有例子

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

axis自动生成的wsdl文件是有问题的,在他的wddlsoap标签中会使用localhost作为访问地址,
<wsdlsoap:address location="http://localhost:8080/Axis/services/Test"/>
这样当然是只有本机访问正常,其他机器访问不了,解决办法就是修改一下这个地址,比如的地址是10.154.23.153,那么就把这里改为:
<wsdlsoap:address location="http://10.154.23.153:8080/Axis/services/Test"/>
这样,问题就解决了。

⑤ 如何解决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();

⑥ 如何解决javaaxis调用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服务器操作异常

报错信息为:AxisFaultfaultCode:{http://schemas.xmlsoap.org/soap/envelope/}Server.userExceptionfaultSubcode:faultString:java.net.ConnectException:Connectionrefused:connectfaultActor:faultNode:faultDetail:{http://xml.apache.org/axis/}stackTrace:java.net.ConnectException:Connectionrefused:connectatjava.net.PlainSocketImpl.socketConnect(NativeMethod)atjava.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)atjava.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)atjava.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)atjava.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)atjava.net.Socket.connect(Socket.java:516)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:585)atorg.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)atorg.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)atorg.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)atorg.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)atorg.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)atorg.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)atorg.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)atorg.apache.axis.SimpleChain.invoke(SimpleChain.java:83)atorg.apache.axis.client.AxisClient.invoke(AxisClient.java:165)atorg.apache.axis.client.Call.invokeEngine(Call.java:2784)atorg.apache.axis.client.Call.invoke(Call.java:2767)atorg.apache.axis.client.Call.invoke(Call.java:2443)atorg.apache.axis.client.Call.invoke(Call.java:2366)atorg.apache.axis.client.Call.invoke(Call.java:1812)atcom.sendServer.TongWs.invokeWg(TongWs.java:114)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:585)atorg.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)atorg.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)atorg.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)atorg.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)atorg.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)atorg.apache.axis.SimpleChain.invoke(SimpleChain.java:83)atorg.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)atorg.apache.axis.server.AxisServer.invoke(AxisServer.java:281)atorg.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:710)atorg.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)atjava.lang.Thread.run(Thread.java:595)axis自动生成的wsdl文件是有问题的,在他的wddlsoap标签中会使用localhost作为访问地址,这样当然是只有本机访问正常,其他机器访问不了,解决法就是修改一下这个地址,比如的地址是10.154.23.153,那么就把这里改为:这样,问题就解决了。

⑧ 如何解决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。其他方法的测试也类似。

⑨ webservice 接口用java中的axis调用,java编程传递一个参数String[]给网络接口为什么报错

这个牵扯到数组序列化问题,前几天让我郁闷了好久。

最后是把数组表示为string,然后传入的。

2种情况
1)数组序列化的时候因为服务器端没有序列方法,所以不能正常解析为数组参数;
2)序列化后所有的参数都为null..

⑩ java开发webservice客户端时,使用axis需要哪些jar包

http://axis.apache.org/axis2/java/core/download.cgi

热点内容
存储计算逻辑 发布:2024-11-08 13:49:35 浏览:543
java算法排序算法 发布:2024-11-08 13:42:20 浏览:883
u盘随身系统linux 发布:2024-11-08 13:34:34 浏览:411
b1422压缩机锁定 发布:2024-11-08 13:32:43 浏览:635
上传按钮图片 发布:2024-11-08 13:30:57 浏览:920
安卓手机相机如何拍摄短视频 发布:2024-11-08 13:28:42 浏览:411
网站的并发访问 发布:2024-11-08 13:27:56 浏览:514
脉冲压缩调制 发布:2024-11-08 12:49:56 浏览:126
松茸菌存储 发布:2024-11-08 12:49:05 浏览:333
超市wifi密码大概都是什么 发布:2024-11-08 12:48:19 浏览:590