添加axis 全部jar 与spring.jar 可可以运行。
关于 client 连接的一个util
package com.nbw.common.util;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
/**
* webseries clint util
*
* @author qcy
*
*/
public class Axis2RPCClientUtil {
/**
* @param targetEPRString
* http://localhost:8080/bzzyWebApp/services/WeatherService
* @param qNameString
* http://service.weatherservice.sample
* @param methodString
* getWeather
* @param methodString
* args
* @return 字符串
* @throws AxisFault
*/
@SuppressWarnings("unchecked")
public static String getStringByWS(String targetEPRString,
String qNameString, String methodString, Object[] args)
throws AxisFault {
EndpointReference targetEPR = new EndpointReference(targetEPRString);
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
options.setTo(targetEPR);
QName opGet = new QName(qNameString, methodString);
Class[] returnTypes = new Class[] { String.class };
Object[] response = serviceClient.invokeBlocking(opGet, args,
returnTypes);
return (String) response[0];
}
/**
* @param args
* @throws AxisFault
*/
public static void main(String[] args) throws AxisFault {
String targetEPRString = "http://localhost:8080/bzzyWebApp/services/XctService";
String qNameString = "http://test.axis2.hbw.com";
String methodString = "getMBtring";
Object[] argsObje = new Object[] { "eee" };
System.out.println(getStringByWS(targetEPRString, qNameString,
methodString, argsObje));
}
}
部署到别的项目的时候,我报了一个错,一个未知的错误具体
让我弄了一天,才发现恩 Axis2 中的 关于bean的配置必须放在 contextConfigLocation 中
我开始把他的配置文件放在了
org.springframework.web.servlet.DispatcherServlet 下的 contextConfigLocation ,于是就错了
虽然实例化了bena了,但是AXIS在上下文中找不到恩,
看来是一个bug 没有拦截到这个错误,理论上应该报一个 没有找到这个bean的错误,