Axis的问题,急!
public class MyService
{
public String userLogin(String name, String password)
{
if ("123".equals(name) && "123".equals(password)) {
return true;
}
retrun false;
}
}
拷贝了一份文件MyService.java 改名为MyService.jws
Client:
public class MainTest {
public static void main(String[] args)
{
try {
String endpoint = "http://localhost:8085/test/MyService.jws";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName(endpoint, "userLogin"));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
Boolean bool = (Boolean) call.invoke(new Object[] { "123","123" });
System.out.println("return value is " + bool);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
这样调用是成功的,但是看到服务那边的Session会越来越多。所以加入了server-config.wsdd文件,原来是使用默认的。
在默认的文件中加入了以下配置:
<handler name="session"
type="java:org.apache.axis.handlers.SimpleSessionHandler" />
<service name="MyService" provider="java:RPC" style="wrapped">
<namespace>urn:</namespace>
<requestFlow>
<handler type="session" />
</requestFlow>
<responseFlow>
<handler type="session" />
</responseFlow>
<parameter name="className" value="MyService" />
<parameter name="allowedMethods" value="*" />
</service>
这样就更改了访问的url,现在client的代码如下:
public class MainTest {
public static void main(String[] args)
{
try {
String endpoint = "http://localhost:8085/test/services/MyService?wsdl";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName(endpoint, "userLogin"));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
Boolean bool = (Boolean) call.invoke(new Object[] { "123","123" });
System.out.println("return value is " + bool);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
有两个问题:
1、如果我想用原来的url,要怎么做?
2、后来的代码Boolean bool = (Boolean) call.invoke(new Object[] { "123","123" }); 会报类型转换错误,为什么前面的方法可以得到Boolean,后面的只得到String呢?
先谢了。
相关推荐
axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题
axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题
Springboot集成axis1.4的demo
Spring boot 集成Axis1.4 ,使用wsdd文件发布webservice
python中axis=0和axis=1的问题记录
之前一直搞不清axis = 0 和 axis = 1 之间的区别,一会是按行求和,一会是按列遍历,那到底axis是咋操作的呢?查找了些资料,发现了一种很好的解释就是: 0轴垂直往下,1轴向右水平延伸。 啥意思?? 尝试一下好了 import numpy as np import pandas as pd tmp = np.random.randint(1,10,12).reshape(3,4) tmp #1到10随机生成12个整数,并重组成3行4列的数组 array([[5, 6, 4, 4], [2, 7, 2, 9], [2, 4, 1, 9]]) tmp.su
axis1切换axis2问题[代码]
文章主要讨论了将axis1.4版本升级到axis2.7.8版本时遇到的问题。由于axis1存在漏洞,作者删除了低版本的axis1 jar包,并加入了axis2的相关jar包。在修改代码为axis2版本写法后,程序执行到某一行代码时停止,无法继续执行。作者尝试将该行代码移动到其他位置,但问题依旧存在,因此寻求解决方案。
Axis2,Axis2 Eclipse plugin安装配置及安装过程中问题解决
axis2的安装配置以及axis2 eclipse plugin安装


