Я использую CXF для связи с WSDL, созданным в WCF. Сторона WCF была создана после tutorial. Код Java был сгенерирован с использованием сценария Maven.Использование CXF С WSDL с неопубликованными метаданными
У меня есть работа, использующая HTTPS для шифрования. Я получил аутентификацию. Тем не менее, я хотел бы, чтобы метаданные WSDL были отключены на стороне WCF и все еще могут использовать сторону Java для разговора с сервисом.
В настоящее время я могу получить доступ к сервису с метаданными публикации на со стороны Java, используя этот код:
URL wsdlLocation = new URL("https://server.com:7010/Hservice?wsdl");
HttpsURLConnection connection = (HttpsURLConnection) wsdlLocation.openConnection();
HService service = new HService(wsdlLocation);
HAdminService calc = service.getHAdminService();
... (authentication using WSS4JOutInterceptor code and unrelated code here)
System.out.println(calc.add(new Double(5), new Double(5)));
Однако, когда я выключаю публикацию метаданных на стороне WCF, я получаю эту ошибку:
Exception in thread "main" javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:90)
at javax.xml.ws.Service.<init>(Service.java:56)
at com.blah.hservice.v_1_0.HService.<init>(HService.java:49)
at Main.main(Main.java:85)`
страница WSDL, на дисплеях с этой публикации метаданных выключен (это отрывок):
This is a Windows© Communication Foundation service.
Metadata publishing for this service is currently disabled.
If you have access to the service, you can enable metadata publishing by completing the following steps to modify your web or application configuration file:
Я ожидал, что вы сможете найти «метаданные CXF неопубликованные» и увидеть много людей, которые это делают ... но ничего не нашли. Как мне связаться с этой службой без публикации WSDL?
Итак, теперь у меня есть service.addPort (HService.HAdminService, http://schemas.xmlsoap.org/soap/ "," https://something.com:7010/hservice?wsdl ");' И я получаю нулевой указатель на 'HAdminService calc = service.getHAdminService();' – crdzoba
Как вы решаете эту проблему .. – user684434