[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: [reverbel-sod] Descritores



Vou repassar tudo pra tentar achar o erro.

xml's do web service: web.xml, webservices.xml e jaxrpc-mapping.xml

web.xml

<?xml version=" 1.0" encoding="UTF-8"?>
<web-app xmlns=" http://java.sun.com/xml/ns/j2ee"

         xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd "
         version="2.4">
    <servlet>
        <servlet-name>RentalServiceRPC</servlet-name>
    <servlet-class>videorentalstore.webservice.gen.RentalServiceRPC_Impl</servlet-class>
     </servlet>

    <servlet-mapping>
        <servlet-name>RentalServiceRPC </servlet-name>
        <url-pattern>/RPC</url-pattern>
    </servlet-mapping>
   
    <servlet>
        <servlet-name>RentalServiceDoc</servlet-name>
        <servlet-class>videorentalstore.webservice .gen.RentalServiceDoc_Impl</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>RentalServiceDoc </servlet-name>
        <url-pattern>/DOC</url-pattern>
    </servlet-mapping>
</web-app>

neste arquivo estamos criando dois servlet um pro rpc e outro pro document. Definimos as classes que iram responder por estes servlet,  videorentalstore.webservice.gen.RentalServiceRPC_Impl e videorentalstore.webservice.gen.RentalServiceDoc_Impl, além dos url-pattern, /RPC e /DOC. isto esta certo?

webservices.xml

<webservices version="1.1"
             xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:impl="http://www.ime.usp.br/SOD06 "
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee   
                                 http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
    <webservice-description>
        <webservice-description-name>VideoRentalStoreService</webservice-description-name>
        <wsdl-file>WEB-INF/wsdl/VideoRental.wsdl</wsdl-file>
        <jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
       
        <port-component>
            <port-component-name>RentalServiceRPCPort</port-component-name>
            <wsdl-port>impl:RentalServiceRPCPort</wsdl-port>
            <service-endpoint-interface>videorentalstore.webservice.gen.RentalServiceRPC</service-endpoint-interface>
            <service-impl-bean>
                <servlet-link>RentalServiceRPC</servlet-link>
            </service-impl-bean>
        </port-component>
       
        <port-component>
            <port-component-name>RentalServiceDocPort</port-component-name>
            <wsdl-port>impl:RentalServiceDocPort</wsdl-port>
            <service-endpoint-interface>videorentalstore.webservice.gen.RentalServiceDoc</service-endpoint-interface>
            <service-impl-bean>
                <servlet-link>RentalServiceDoc</servlet-link>
            </service-impl-bean>
        </port-component>
    </webservice-description>
   
</webservices>

neste arquivo estamos definindo onde achar o wsdl e o mapping, além de definir as portas do servico. Cada porta esta descrita no wsdl, e para cada uma definimos a interface e o servlet que estao relacionados a ela.

jaxrpc-mapping.xml

este arquivo e gerado pelo compilador.

este modulo deve ter a seguinte estrutura:
WEB-INF
        classes
             "compilados"
        wsdl
             VideoRental.wsdl
        web.xml
        webservices.xml
        jaxrpc-mapping.xml

xml's do cliente: application-client.xml , jboss-client.xml e jaxrpc-mapping.xml

application-client.xml

application-client xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"
  version="1.4">

  <display-name>webservice client app</display-name>

  <service-ref>
    <service-ref-name>service/VideoRentalStoreService</service-ref-name>
    <service-interface>javax.xml.rpc.Service</service-interface>
    <wsdl-file>USE_JBOSS_CLIENT_XML_OVERRIDE</wsdl-file>
    <jaxrpc-mapping-file>META-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
  </service-ref>

</application-client>

este arquivo especifica a referencia ao servico, dizendo qual e o nome do servico, que deve ser criada uma instancia de javax.xml.rpc.Service , que deve usar o wsdl definido no jboss-client.xml e onde achar o mapping

jboss-client.xml

<!DOCTYPE jboss-client PUBLIC
   "-//JBoss//DTD Application Client 4.0//EN"
   "http://www.jboss.org/j2ee/dtd/jboss-client_4_0.dtd">

<jboss-client>
  <jndi-name>client</jndi-name>
  <service-ref>
    <service-ref-name>service/VideoRentalStoreService</service-ref-name>
    <wsdl-override> http://localhost:8080/webservice/RPC?wsdl</wsdl-override>
  </service-ref>
</jboss-client>

este arquivo diz pra criar o jndi client onde ficará o servico e tambem diz onde achar o wsdl. Eu verifiquei esta url e aparece o wsdl com os enderecos das portas.

...
<service name="VideoRentalStoreService">
    <port binding="tns:RentalServiceRPCBinding" name="RentalServiceRPCPort">
<soap:address location="http://anduin.linux.ime.usp.br:8080/webservice/RPC"/>
</port>
    <port binding="tns:RentalServiceDocBinding" name="RentalServiceDocPort">
<soap:address location="http://anduin.linux.ime.usp.br:8080/webservice/DOC"/>
</port>
</service
...

jaxrpc-mapping.xml

este arquivo e gerado pelo compilador.

este modulo deve ter a seguinte estrutura:
META-INF
        application-client.xml
        jboss-client.xml
        jaxrpc-mapping.xml


Nâo sei o que pode estar errado.

brigado!

ps: sem querer a ultima mensagem foi envida errada.