WebService客户端调用异常问题

lkf21686 2010-10-13 02:25:55
调用方式一:
import java.rmi.RemoteException;

import net.txl3.app.BandTxqUserDocument;
import net.txl3.app.BandTxqUserResponseDocument;
import net.txl3.app.TxlAppServiceStub;
import net.txl3.app.BandTxqUserDocument.BandTxqUser;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;

public class StubClient
{

/**
* @param args
*/
public static void main(String[] args)
{

String url = "http://218.77.120.196/services/TxlAppService?wsdl";
try
{
TxlAppServiceStub stub = new TxlAppServiceStub();

stub._getServiceClient().getOptions().setTo(new EndpointReference(url));


BandTxqUserDocument reqDoc = BandTxqUserDocument.Factory
.newInstance();

BandTxqUser user = reqDoc.addNewBandTxqUser();
user.setIn0("test");
user.setIn1("test");
user.setIn2("13345678909");

BandTxqUserResponseDocument resDoc = stub.bandTxqUser(reqDoc);
System.out.println(resDoc.getBandTxqUserResponse().getOut());

} catch (AxisFault e)
{
e.printStackTrace();
} catch (RemoteException e)
{
e.printStackTrace();
}

}

}



报异常,望高手帮忙:
org.apache.axis2.AxisFault: First Element must contain the local name, Envelope , but found definitions
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:90)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at net.txl3.app.TxlAppServiceStub.bandTxqUser(TxlAppServiceStub.java:6854)
at StubClient.main(StubClient.java:37)
Caused by: org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found definitions
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:191)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:172)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:156)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:105)
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:53)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:164)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:88)
... 6 more
...全文
282 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这么长时间都没人回答吗?同求
lkf21686 2010-10-13
  • 打赏
  • 举报
回复
调用方式二:报同样的错误。请大家帮忙,多 谢了!!!


import javax.xml.namespace.QName;

import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.rpc.client.RPCServiceClient;

/**
* WSDL2Java -uri http://218.77.120.196/services/TxlAppService?wsdl -p src -d xmlbeans -s -o build/client

* @author Administrator
*
*/

public class Client
{

/**
* @param args
*/
public static void main(String[] args)
{
RPCServiceClient serviceClient = null;
try
{
serviceClient = new RPCServiceClient();
} catch (AxisFault e1)
{
e1.printStackTrace();
}
Options options = serviceClient.getOptions();

//指定访问的web service地址
EndpointReference targetEPR = new EndpointReference(
"http://218.77.120.196/services/TxlAppService?wsdl");
options.setTo(targetEPR);

//指定方法,注意指定命名空间
QName opPrint = new QName("http://net.txl3.app", "bandTxqUser");
//确定参数类型和参数值
Class[] returnTypes = new Class[]
{ String.class };
Object obj[] = new Object[]
{ "test", "test", "13345678909" };
//得到返回结果,是一个数组
Object[] order = null;
try
{
order = serviceClient.invokeBlocking(opPrint, obj, returnTypes);
} catch (AxisFault e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(order[0]);
}
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧