用Axis和Tomcat4.1 我写了一个jws文件调用jar包里的一个方法。现在想不能用IP,因为可能得不到代理上网的IP。 改用网卡ID,当然,这也不是很严谨的,黑客也是可以修改网卡ID的。 我写了简单的java类, package jwstest;import org.apache.axis.MessageContext;public class Test() { public Test() { } public String getSession() { MessageContext context = MessageContext.getCurrentContext(); //...... String session_ID = null; return session_ID; } } 在package报错: The type of javax.xml.rpc.hander.soap.SOAPMessageContext cannot be resolved. It is indirectly referenced from required. class.files. 我的jws文件放在项目的根目录下: WsTest.jws import jwstest.*; public class WsTest() { public String getSessionID() { Test test = new Test(); return test.getSessionID(); } }
所以当然也可以用Servlet对象解决这些问题。
能举个例子?
另外一种是判断Cookie,
你可以在Web Serivice中得到HttpServletRequest对象,
如果你使用的是Axis 可以这样得到:
MessageContext context = MessageContext.getCurrentContext();
HttpServletRequest req = (HttpServletRequest) context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);然后便可以按往常的做法处理了。
不过,这些都不是很严谨的方法。因为IP是可以变化的。cookie也是可以清掉的
我写了一个jws文件调用jar包里的一个方法。现在想不能用IP,因为可能得不到代理上网的IP。
改用网卡ID,当然,这也不是很严谨的,黑客也是可以修改网卡ID的。
我写了简单的java类,
package jwstest;import org.apache.axis.MessageContext;public class Test()
{
public Test()
{
}
public String getSession()
{
MessageContext context = MessageContext.getCurrentContext();
//......
String session_ID = null;
return session_ID;
}
}
在package报错:
The type of javax.xml.rpc.hander.soap.SOAPMessageContext cannot be resolved. It is indirectly referenced from required. class.files.
我的jws文件放在项目的根目录下:
WsTest.jws
import jwstest.*;
public class WsTest()
{
public String getSessionID()
{
Test test = new Test();
return test.getSessionID();
}
}