Glassfish 3.1.2.2: сбой развертывания @WebServiceProvider: DPL5041: неизвестное имя компонента порта
У меня проблемы с развертыванием веб-службы @WebServiceProvider в Glassfish 3.1.2.
Я настроил glassfish-ejb-jar.xml следующим образом для моего сервиса.
<ejb>
<ejb-name>TestWebService</ejb-name>
<webservice-endpoint>
<port-component-name>TestWebService</port-component-name>
<endpoint-address-uri>HEAD/TestWebService</endpoint-address-uri>
<transport-guarantee>NONE</transport-guarantee>
</webservice-endpoint>
</ejb>
Веб-сервис реализован следующим образом.
package test.ws.services;
import [...left out for brevity...]
@WebServiceProvider(
targetNamespace = "http://ws.test.com"
, serviceName = "HEAD/TestWebService"
, portName = "TestServicePort")
@ServiceMode(value = Service.Mode.PAYLOAD)
@Stateless
@HandlerChain(file = "test_handlers.xml")
@Interceptors({ TestInterceptor.class })
public class TestWebService implements Provider<Source> {
@WebMethod
public Source invoke(Source request) {
return calcResponseSource(request);
}
}
При запуске сервера glassfish следующая ошибка отображается в файле glassfish server.log.
SEVERE javax.enterprise.system.tools.deployment.org.glassfish.deployment.common DPL5041:Unknown port-component-name TestWebServiceService port, all sub elements will be ignored
WARNING javax.enterprise.system.tools.deployment.org.glassfish.deployment.common DPL8007: Unsupported deployment descriptors element endpoint-address-uri value HEAD/TestWebService
WARNING javax.enterprise.system.tools.deployment.org.glassfish.deployment.common DPL8007: Unsupported deployment descriptors element transport-guarantee value NONE
Позже сервис развертывается по "техническому" URL-адресу с полным именем класса.
INFO javax.enterprise.webservices.org.glassfish.webservices WS00019: EJB Endpoint deployed
server listening at address at http://test:10280/HEAD/TestWebService/test.ws.services.TestWebService
Я искал в Интернете, но не смог найти никакого решения для настройки сервера Glassfish для выполнения развертывания без ошибок.
PS: эта проблема также, кажется, мешает мне включить HTTPS для веб-службы.
С уважением, Эгберт