代码如下
package com.dgc.util;  
import javax.xml.namespace.QName; 
import org.apache.axis2.addressing.EndpointReference; 
import org.apache.axis2.client.Options; 
import org.apache.axis2.rpc.client.RPCServiceClient;  
public class CallBaseWebService {
//读取配置文件中WebService的URL地址
private static final String WEBSERVICE_URL = "http://fxgrctest.epri.com.cn:50100/wsnavigator/";

/*
 * Axis2 工具调用WS方法
 * param 传入参数字符串:
 * return 返回WS返回的字符串结果
 */
public static String rfcWebService (String wsArguments) throws Exception{
//使用RPC方式调用WebService 
RPCServiceClient serviceClient = new RPCServiceClient();         
Options options = serviceClient.getOptions();         
//  指定调用WebService的URL         
EndpointReference targetEPR = new EndpointReference(WEBSERVICE_URL);         
options.setTo(targetEPR);         
//  指定调用WS方法的参数值: wsArguments       
Object[] opAddEntryArgs = new Object[] {wsArguments};        
//  指定WS方法返回值的数据类型的Class对象       
Class[] classes = new Class[] {String.class};         
//  指定要调用的WS方法及WSDL文件的命名空间         getImportentItem (test.types.GetImportentItem parameters)
QName opAddEntry = new QName("http://ws.apache.org/axis2", "getImportentItem");
return serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0].toString();         
}


//测试WS调用方法是否成功    
public static void main(String[] args) throws Exception {
System.out.println(rfcWebService("aaa"));
}
}
运行后报个错误提示如下
Exception in thread "main" org.apache.axis2.AxisFault: Transport error: 302 Error: Found
at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:296)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:371)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:209)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
at com.dgc.util.CallBaseWebService.rfcWebService(CallBaseWebService.java:29)
at com.dgc.util.CallBaseWebService.main(CallBaseWebService.java:35)在线等,请教各位该问题该如何解决?代码我在MyEclipse 8.5 中架设Tomcat 6.0 服务器测试自己发布的WS可以成功的,但是在单位的Sap IDE 上调用这个代码,访问SAP服务器的WS就报了这个错误,请教下该问题如何解决?解决了立即结贴,谢谢各位大大!

解决方案 »

  1.   

    getImportentItem (test.types.GetImportentItem parameters)
    该段代码是注释掉的,无意义,说明已下
      

  2.   

    http://fxgrctest.epri.com.cn:50100/wsnavigator/这在浏览器内能直接访问吗?
      

  3.   


    http://fxgrctest.epri.com.cn:50100/wsnavigator/这个地址访问不了。
      

  4.   

    很难说清楚,给个demo,慢慢研究吧
    http://download.csdn.net/detail/s478853630/5098447