Para serviços da Web JAX-RPC, o IDE utiliza a ferramenta wscompile que acompanha o servidor de aplicativos Sun Java System para criar os arquivos necessários para a interação do serviço da Web. Após registrar o servidor de aplicativos Sun Java System no IDE, é possível configurar e executar a ferramenta wscompile no IDE.
O IDE aciona a ferramenta wscompile durante a criação do serviço da Web, cliente de serviços da Web, projeto ou aplicativo empresarial que a contém.
A ferramenta wscompile lê o arquivo de configuração que o IDE gera quando o serviço da Web ou o cliente de serviços da Web são criados. O arquivo de configuração que o IDE gera varia dependendo se você estiver criando um serviço da Web a partir de Java, de um arquivo WSDL existente ou um cliente de serviços da Web:
O arquivo de configuração que o IDE fornece especifica que a ferramenta wscompile gerará um arquivo WSDL a partir da interface de ponto de extremidade do serviço especificada no elemento <interface>.
<configuration xmlns='http://java.sun.com/xml/ns/jax-rpc/ri/config'> <service name='HiWS' targetNamespace='urn:HiWS/wsdl' typeNamespace='urn:HiWS/types' packageName='org.me.hi'> <interface name='org.me.hi.HiWSSEI' servantName='org.me.hi.HiWSImpl'> </interface> </service> </configuration>
O arquivo de configuração que o IDE fornece especifica que a ferramenta wscompile gerará uma interface de ponto de extremidade do serviço a partir do arquivo WSDL especificado.
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="C:\MyNetBeansProjects\Hi\HiWS/web/WEB-INF/wsdl/HiWS.wsdl" packageName="org.me.hi"/> </configuration>
O arquivo de configuração que o IDE fornece especifica que a ferramenta wscompile gerará os artefatos do cliente a partir do arquivo WSDL especificado.
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="C:\MyNetBeansProjects\Hi\HiWSC1/web/WEB-INF/wsdl/HiWS.wsdl" packageName="org.me.hi"/> </configuration>
As informações desses arquivos de configuração são processadas pela ferramenta wscompile em conjunto com as opções e recursos configurados, conforme descrito nas próximas seções.
Quando um serviço da Web ou um cliente de serviços da Web são criados, o IDE gera um destino de compilação no arquivo build.xml. O destino aciona a ferramenta wscompile durante a criação do serviço da Web, do cliente de serviços da Web ou do aplicativo J2EE que a contém. Nos serviços da Web, o destino é denominado webservicename_wscompile. Nos clientes de serviços da Web, o destino é denominado webclientname_client_wscompile.
As opções da ferramenta wscompile são configuradas no destino que chama a ferramenta. As opções aplicáveis ao contexto são definidas pelo IDE. Por exemplo, o destino fornecido por um cliente de serviços da Web JSR-101 inclui a opção (client="true") para a geração de stubs, enquanto o destino dos clientes de serviços da Web JSR-109 não. Em vez disso, o destino dos clientes de serviços da Web JSR-109 inclui uma opção (import="true") que permite à ferramenta wscompile ler um arquivo WSDL e gerar arquivos do cliente a partir deste. (Para obter informações sobre as diferenças entre JSR-101 e JSR-109, clique aqui.)
A tabela abaixo lista todas as opções aceitas pela ferramenta wscompile e se e como são aceitas pelos destinos padrão fornecidos pelo IDE.
Opção wscompile |
Serviço a partir do zero/fontes | Serviço a partir do arquivo WSDL |
Cliente JSR-109 |
Cliente JSR-101 |
Descrição |
---|---|---|---|---|---|
-cp <path> | classpath =a |
classpath =a |
classpath =a |
classpath =a |
Especifica onde localizar os arquivos da classe de entrada. |
-d <dir> | base =b |
base =b |
- | - | Especifica onde salvar os arquivos de saída gerados. |
-define | - | - | - | - | Lê a interface de ponto de extremidade do serviço, define um serviço. |
-features | features =c |
features =c |
features =c |
features =c |
Ativa os recursos especificados. É possível usar o IDE para selecionar recursos para a criação de um serviço da Web de estilo de documento, um um serviço da Web de estilo RPC, um um serviço da Web a partir de um arquivo WSDL ou um cliente. |
-g | - | - | - | - | Gera informações de depuração. |
-gen: both |
- | - | - | - | Gera os artefatos do cliente e do servidor. |
-gen: client |
- | - | client= "false" |
client= "true" |
Se for "true", gera os artefatos do cliente (stubs, etc.). |
-gen: server |
server= "true" |
- | - | - | Se for "true", gera os artefatos do serviço da Web (vínculos, etc.) e o arquivo WSDL. |
-httpproxy :<host> :<porta> |
- | - | - | - | Especifica um servidor de proxy HTTP. O padrão é 8080. |
-import | - | import= "true" |
import= "true" |
import= "false" |
Se for "true", lê o arquivo WSDL, gera a interface de ponto de extremidade do serviço e um modelo da classe que implementa a interface. |
-keep | keep= "true" |
keep= "true" |
keep= "true" |
keep= "true" |
Se for "true", mantém os arquivos gerados. |
-mapping <file> | mapping=d | mapping=d | mapping=d | mapping=d | Gera um arquivo mapping.xml do J2EE. |
-model <arquivo> | - | - | - | - | Salva o modelo interno no arquivo especificado. |
-nd <dir> | nonClassDir =e |
nonClassDir =e |
- | - | Especifica onde salvar o arquivo WSDL. |
-O | - | - | - | - | Otimiza o código gerado. |
-s <dir> | - | - | sourceBase =f |
sourceBase =f |
Especifica onde salvar os arquivos fonte gerados. |
-source <versão> | - | - | - | - | Gera o código da versão especificada de JAX-RPC SI. |
-verbose | verbose= "true" |
verbose= "true" |
verbose= "false" |
verbose= "false" |
Se for "true", exibe mensagens sobre o que o compilador está fazendo. |
-version | - | - | - | - | Imprime as informações da versão. |
Tecla
a = ${wscompile.classpath}
b = ${build.generated.dir}/wssrc ou ${build.classes.dir}
c = ${wscompile.service.nome_do_serviço_Web-ou-nome_do_cliente.features}
d = ${build.web.dir}/WEB-INF/wsdl/${nome_do-serviço_Web-ou-nome_do_cliente.mapping}
e = ${build.web.dir}/WEB-INF/wsdl
f = ${build.generated.dir}/wssrc
É possível utilizar o IDE para definir os recursos fornecidos pela ferramenta wscompile. Por exemplo, ao criar um serviço da Web, é possível especificar seu estilo. Para obter detalhes sobre os recursos disponíveis e instruções sobre como defini-los, consulte estes tópicos: