0

私はopenesbでglassfish 2.1.1を実行しています。Web サービスが正しく実行されているという問題がありますが、Web サービスが Glassfish 管理コンソールに登録されている必要があります。残念ながら、管理コンソールに Web サービスが表示されません。明確にするために、ナビゲーションで「Web サービス」を選択すると、右側のペインに「アイテムが見つかりません」と表示されますが、サービスは正常に実行されています。この問題をトラブルシューティングする方法さえ完全に途方に暮れています。最高のログを有効にしましたが、この問題を特定するのに役立つものは何も表示されません。私のプロジェクトは単純な war アプリケーションであり、ejb は使用していません。

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <listener>
        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>ConsolidatedWS</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>ConsolidatedWS</servlet-name>
        <url-pattern>/ConsolidatedWS</url-pattern>
    </servlet-mapping>
  <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

ウェブサービス

@SchemaValidation(handler= SchemaValidationHandler.class)
@WebService(serviceName = "ConsolidatedWS", targetNamespace = "http://consolidatedapi/1.0", endpointInterface = "com.ConsolidatedWS")
@HandlerChain(file="/META-INF/SoapHandlerChain.xml")
public class ConsolidatedWSImpl implements ConsolidatedWS {

    @Override
    public CreateConsolidatedOrderResponse createConsolidatedOrder(ConsolidatedOrder order) {
        return new CreateConsolidatedOrderResponse();
    }
}

sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8"?>
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
  <endpoint implementation="com.ConsolidatedWSImpl" name="ConsolidatedWS" url-pattern="/ConsolidatedWS"/>
</endpoints>
4

2 に答える 2

1

私はそれを理解したと思います、それはいくつかのことの組み合わせでした. 私の web.xml にはリスナーとサーブレットがないため、Paul に感謝します。

  1. これはGlassfishのメトロの実装を台無しにしていた可能性があるため、メトロのwebservices-rtを提供しました。

    <dependency>
        <groupId>org.glassfish.metro</groupId>
        <artifactId>webservices-rt</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    
  2. ポールが勧めたように、サーブレットのマッピングとリスナーを削除しました

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>   

sun-javaws.xml

<?xml version="1.0" encoding="UTF-8"?>
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
 </endpoints>

sun-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">
<sun-web-app error-url="">
    <context-root>/consolidated-api</context-root>  
    <class-loader delegate="true"/>
    <jsp-config>
        <property name="keepgenerated" value="true">
            <description>Keep a copy of the generated servlet class' java code.</description>
        </property>
    </jsp-config>
</sun-web-app>
于 2013-11-06T20:24:39.140 に答える