WSDLエディターを使用してEclipseでwsdlファイルを作成しました。CXF(Mavenプラグイン方式)を使用してサーバーを作成しました。C#から正常に呼び出した単純な関数getCities()があります。ただし、Javaクライアントから呼び出すことはできません。
@WebResult(name = "out", targetNamespace = "")
@RequestWrapper(localName = "getCities", targetNamespace = "http://www.example.org/BookingServer/", className = "org.example.bookingserver.GetCities")
@ResponseWrapper(localName = "getCitiesResponse", targetNamespace = "http://www.example.org/BookingServer/", className = "org.example.bookingserver.GetCitiesResponse")
@WebMethod(action = "http://www.example.org/BookingServer/getCities")
public java.util.List<org.example.bookingserver.Cities> getCities();
これが私がそのサービスを呼び出す方法です(ここでもApache-cxfを使用):
QName SERVICE_NAME = new QName("http://www.example.org/BookingServer/", "BookingServer");
URL wsdlURL = BookingServer_Service.WSDL_LOCATION;
BookingServer_Service ss = new BookingServer_Service(wsdlURL, SERVICE_NAME);
BookingServer port = ss.getBookingServerSOAP();
java.util.List<org.example.bookingserver.Cities> result = port.getCities();
しかし、私は得るjavax.ejb.EJBException ... Caused by: com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status code 200: OK
この例外に関連するものは何もグーグルできませんでした。
NetBeans WebサービスクライアントGUIも使用してみましたが、例外は同じでした。サーバーにブレークポイントを設定しても、ブレークすることはありません。したがって、問題はクライアントにあります。
誰かが私が間違っていることを知っていますか?