Glassfish(できればTomEEにも)にデプロイしたときに、WebサービスのURLエンドポイントを制御しようとしています。
私はクラスを持っています:
@Stateless
@WebService(
targetNamespace = "http://foo.net/doc/2012-08-01",
name = "FooService",
portName = "FooPort",
serviceName = "FooService")
public class FooSoapService extends SoapBase {
...
}
そしてweb.xml:
<servlet>
<description>SOAP Endpoint for Foo operations.</description>
<servlet-name>Foo</servlet-name>
<servlet-class>com.foo.FooSoapService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FooPack</servlet-name>
<url-pattern>/soap/FooPack</url-pattern>
</servlet-mapping>
Glassfishにデプロイされたときに/context-root/ soap / FooPack?wsdlにアクセスすると、次のようになります。
java.lang.ClassCastException: com.foo.FooSoapService cannot be cast to javax.servlet.Servlet
いくつかのjax-rsのものを除いて、web.xmlには事実上何もありません。
何か案は?