调用方式一:
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

解决方案 »

  1.   

    调用方式二:报同样的错误。请大家帮忙,多 谢了!!!
    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]);
    }
    }