有人可以在下面的代碼中填寫缺少的鏈接嗎?調用Web服務。需要缺少的鏈接
第一種方式:
Web服務接口文件是HappyService。
JaxWSProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInterceptors().add(new LoggingInInterceptor());
factory.getInterceptors().add(new LoggingOutInterceptor());
//MISSING LINK. Where does HappyService.class come from? I don't have it
factory.setServiceClass(HappyService.class);
factory.setAddress("http://......../happyService");
//Again how do I get HappyService?
HappyService client = (HappyService) factory.create();
方式二:
String UrlString = "Your WSDL URL";
String nameSpaceUri = "urn:Foo";
String serviceName = "MyHelloService";
String portName = "HelloIFPort";
URL helloWsdlUrl = new URL(UrlString);
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service helloService =
serviceFactory.createService(helloWsdlUrl,
new QName(nameSpaceUri, serviceName));
//Where did dynamicproxy.HelloIF come from? This code won't compile as that file does not exist anywhere
dynamicproxy.HelloIF myProxy =
(dynamicproxy.HelloIF)
helloService.getPort(
new QName(nameSpaceUri, portName),
dynamicproxy.HelloIF.class);
System.out.println(myProxy.sayHello("Buzz"));
任何人有一個線索,在那裏這些接口類的來源以及是如何生成的,請讓我知道。它看起來像我可以做一個Web服務調用的唯一方法是手動編寫SOAP請求,我真的不想這樣做,因爲它可能會變得非常大和容易出錯。
你使用Web服務框架?基於第一個例子,我認爲你使用CXF。 HappyService類必須是由CXF提供的wsdl2java任務生成的類。你沒有生成的類包嗎? – reef 2011-04-05 15:51:15
我注意到你的其他問題看起來像是這個版本的早期版本。我鼓勵你編輯你現有的問題來添加更多的細節,而不是在將來打開一個新的細節。歡迎來到StackOverflow! – 2011-04-05 15:56:40
不能,不能訪問生成的類。我想要做的是在全球範圍內呼叫某人的公共網絡服務。 – Julie 2011-04-05 15:58:17