Java使用XFire调用WebService接口(菜鸟就别进来了……)
public class TestWebService {
	
	public static void main(String[] args) {
		
		String endpoint = "http://localhost:8080/BTVMonitorSystem/webservice/IBtvMonitor?wsdl";
		Service service = new Service();
		Client client=null;
		String strxmlString="<RecordSet><channel><id>60</id><channelName>tt</channelName><state>1</state></channel></RecordSet>";
		try {
			client = new Client(new URL(endpoint));
			Object[] result= client.invoke("saveChannel", new Object[] {strxmlString});
			if (result!=null) {
				System.out.println(result[0]+"=================");
			}else {
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}
目的是调用远程的接口,现在是在本地做试验。所以就这样写了。就是想在一个普通类里调用另一个工程里的一个接口。可是执行的时候却报出异常如下:
Exception in thread "main" 
java.lang.NoSuchMethodError: org.apache.ws.commons.schema.XmlSchemaComplexType.getAttributes()Lorg/apache/ws/commons/schema/XmlSchemaObjectCollection;
	at org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder.hasAttributes(WSDLServiceBuilder.java:662)
	at org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder.isWrapped(WSDLServiceBuilder.java:582)
	at org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder.visit(WSDLServiceBuilder.java:392)
	at org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder.build(WSDLServiceBuilder.java:195)
	at org.codehaus.xfire.client.Client.initFromDefinition(Client.java:264)
	at org.codehaus.xfire.client.Client.<init>(Client.java:236)
	at org.codehaus.xfire.client.Client.<init>(Client.java:246)
	at com.jetsen.TestWebService.main(TestWebService.java:17)
              
                  webservice
                  java
                  xfire
              
------解决方案--------------------XmlSchema.jar,换个最新的jar包试试
------解决方案--------------------看下包是否冲突了