wsdl文件:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ofbiz.apache.org/service/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:message name="xjfUserLoginResponse" />
- <wsdl:message name="xjfUserLoginRequest">
<wsdl:part name="login.password" type="xsd:string" />
<wsdl:part name="login.source" type="xsd:string" />
<wsdl:part name="login.username" type="xsd:string" />
</wsdl:message>
- <wsdl:portType name="xjfUserLoginPortType">
- <wsdl:operation name="xjfUserLogin">
<wsdl:input message="tns:xjfUserLoginRequest" />
<wsdl:output message="tns:xjfUserLoginResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="xjfUserLoginSoapBinding" type="tns:xjfUserLoginPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="xjfUserLogin">
<soap:operation soapAction="http://127.0.0.1:8080/webtools/control/SOAPService" style="rpc" />
- <wsdl:input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ofbiz.apache.org/service/" use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ofbiz.apache.org/service/" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="xjfUserLogin">
- <wsdl:port binding="tns:xjfUserLoginSoapBinding" name="xjfUserLoginPort">
<soap:address location="http://127.0.0.1:8080/webtools/control/SOAPService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>测试方法:
package test;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.encoding.XMLType;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class XjfLogin1 {
public static void main(String[] args) {
try {
String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService/xjfUserLogin?wsdl";//你写的那个文件
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName("xjfUserLogin");//填写你要调用的方法名称
String ret = ("" + call.invoke(new Object[] {"admin","aaaa","中国" }));
System.out.println(ret);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Libjar:
axis.jar
axis-ant.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
log4j-1.2.8.jar
jaxrpc.jar
saaj.jar
xerces.jar
wsdl4j-1.5.1.jar
错误信息:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Bad envelope tag: definitions
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Bad envelope tag: definitions
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:71)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1214)
at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1806)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:949)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at test.XjfLogin1.main(XjfLogin1.java:19) {http://xml.apache.org/axis/}hostname:PC2009121922usp 其中这个PC2009121922usp我本机的名字另我把 String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService/xjfUserLogin?wsdl";
改为: String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService/xjfUserLogin";
和 String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService"; 也出错
这2个控制台错误一样是:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXParseException: The root element is required in a well-formed document.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException: The root element is required in a well-formed document.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1196)
at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:570)
at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.endOfInput(XMLDocumentScanner.java:790)
at org.apache.xerces.framework.XMLDocumentScanner.endOfInput(XMLDocumentScanner.java:418)
at org.apache.xerces.validators.common.XMLValidator.sendEndOfInputNotifications(XMLValidator.java:694)
at org.apache.xerces.readers.DefaultEntityHandler.changeReaders(DefaultEntityHandler.java:1026)
at org.apache.xerces.readers.XMLEntityReader.changeReaders(XMLEntityReader.java:168)
at org.apache.xerces.readers.AbstractCharReader.changeReaders(AbstractCharReader.java:150)
at org.apache.xerces.readers.AbstractCharReader.lookingAtChar(AbstractCharReader.java:217)
at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.dispatch(XMLDocumentScanner.java:686)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at test.XjfLogin1.main(XjfLogin1.java:19) {http://xml.apache.org/axis/}hostname:PC2009121922usp望高人指点: QQ:565032442 谢谢
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ofbiz.apache.org/service/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:message name="xjfUserLoginResponse" />
- <wsdl:message name="xjfUserLoginRequest">
<wsdl:part name="login.password" type="xsd:string" />
<wsdl:part name="login.source" type="xsd:string" />
<wsdl:part name="login.username" type="xsd:string" />
</wsdl:message>
- <wsdl:portType name="xjfUserLoginPortType">
- <wsdl:operation name="xjfUserLogin">
<wsdl:input message="tns:xjfUserLoginRequest" />
<wsdl:output message="tns:xjfUserLoginResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="xjfUserLoginSoapBinding" type="tns:xjfUserLoginPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="xjfUserLogin">
<soap:operation soapAction="http://127.0.0.1:8080/webtools/control/SOAPService" style="rpc" />
- <wsdl:input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ofbiz.apache.org/service/" use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ofbiz.apache.org/service/" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="xjfUserLogin">
- <wsdl:port binding="tns:xjfUserLoginSoapBinding" name="xjfUserLoginPort">
<soap:address location="http://127.0.0.1:8080/webtools/control/SOAPService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>测试方法:
package test;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.encoding.XMLType;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class XjfLogin1 {
public static void main(String[] args) {
try {
String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService/xjfUserLogin?wsdl";//你写的那个文件
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName("xjfUserLogin");//填写你要调用的方法名称
String ret = ("" + call.invoke(new Object[] {"admin","aaaa","中国" }));
System.out.println(ret);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Libjar:
axis.jar
axis-ant.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
log4j-1.2.8.jar
jaxrpc.jar
saaj.jar
xerces.jar
wsdl4j-1.5.1.jar
错误信息:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Bad envelope tag: definitions
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Bad envelope tag: definitions
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:71)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1214)
at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1806)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:949)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at test.XjfLogin1.main(XjfLogin1.java:19) {http://xml.apache.org/axis/}hostname:PC2009121922usp 其中这个PC2009121922usp我本机的名字另我把 String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService/xjfUserLogin?wsdl";
改为: String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService/xjfUserLogin";
和 String endpoint = "http://127.0.0.1:8080/webtools/control/SOAPService"; 也出错
这2个控制台错误一样是:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXParseException: The root element is required in a well-formed document.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException: The root element is required in a well-formed document.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1196)
at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:570)
at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.endOfInput(XMLDocumentScanner.java:790)
at org.apache.xerces.framework.XMLDocumentScanner.endOfInput(XMLDocumentScanner.java:418)
at org.apache.xerces.validators.common.XMLValidator.sendEndOfInputNotifications(XMLValidator.java:694)
at org.apache.xerces.readers.DefaultEntityHandler.changeReaders(DefaultEntityHandler.java:1026)
at org.apache.xerces.readers.XMLEntityReader.changeReaders(XMLEntityReader.java:168)
at org.apache.xerces.readers.AbstractCharReader.changeReaders(AbstractCharReader.java:150)
at org.apache.xerces.readers.AbstractCharReader.lookingAtChar(AbstractCharReader.java:217)
at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.dispatch(XMLDocumentScanner.java:686)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at test.XjfLogin1.main(XjfLogin1.java:19) {http://xml.apache.org/axis/}hostname:PC2009121922usp望高人指点: QQ:565032442 谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货