我正在开发一个在 localhost 中运行 Web 服务的项目。我为此使用了 jax-ws。当我在与服务器相同的项目中有一个客户端时,它工作正常。但是现在我正在尝试创建一个新的客户端项目,但是当我尝试运行时出现此错误:
Undefined port type: {http://test.main/}MyWSInterface
我已经在两个类中复制了接口:
package main.test;
导入 javax.activation.DataHandler;导入 javax.jws.WebMethod;导入 javax.jws.WebService;导入 javax.jws.soap.SOAPBinding;导入 javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style = Style.RPC)
public interface MyWSInterface {
@WebMethod public void sendTask(String convertType, String outputFileName, DataHandler dH);
}
在我的主要测试方法中,我在这一行得到了这个错误:
MyWSInterface dsws = service.getPort(MyWSInterface.class);
这是此方法的第 4 行:
private void runTest() throws MalformedURLException {
URL url = new URL("http://localhost:8080/MyWS?wsdl");
QName qname = new QName("http://ws.sender.something.somecompany.com/", "MyWSInterfaceImplService");
Service service = Service.create(url, qname);
DocShifterWS dsws = service.getPort(DocShifterWS.class);
FileDataSource ds = new FileDataSource(new File("C:\\temp\\testinput.txt\\"));
DataHandler dh = new DataHandler(ds);
dsws.sendTask("pdf", "something.pdf", dh);
}