Olá. Estou com um problema com Web Services.
Minha duvida principal é a exception no final do post. Mas deixei umas duvidas no meio do caminho que se alguem puder responder eu tambem gostaria de saber.
Consegui gerar o WSDL com a seguinte task-ant:
<taskdef name="axis-java2wsdl" classname="org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask">
<classpath refid="classpath" />
</taskdef>
<target name="generateWSDL"
description="Generates wsdl files from the java service interfaces">
<mkdir dir="${wsdl.dir}" />
<axis-java2wsdl classpathref="classpath"
output="${wsdl.dir}/AccountService.wsdl" location="http://localhost:9090/axis/services/CRM"
namespace="crmacc" classname="net.culturainglesa.crm.domain.services.AccountService">
<mapping namespace="crmacc"
package="net.cin.crm.domain.services.AccountService" />
</axis-java2wsdl>
</target>
Duvida: Pra que serve o namespace que setei como ‘crmacc’? No exemplo que eu vi, ali era uma url.
Duvida: Nessa task eu mando gerar varios wsdls, como eu mando varrer o diretorio e gerar os arquivos sem ter que descrever um por um?Não consegui usar o pattern com ‘*’.
E gero o arquivo WSDD com a seguinte:
<target name="generateWSDD" description="Generates wsdd files from the wsdl files">
<mkdir dir="${wsdd.dir}" />
<axis-wsdl2java output="${wsdd.dir}" deployscope="Application"
serverside="true" url="${wsdl.dir}\AccountService.wsdl">
</axis-wsdl2java>
</target>
A mesma duvida do outro, para gerar varios arquivos de uma vez.
E tenho a seguinte task para fazer o deploy:
<target name="deployWebservice"
description="Deploys the webservice onto the server, using the wsdd file and Axis' AdminClient">
<java classname="org.apache.axis.client.AdminClient"
classpathref="classpath" fork="true">
<arg value="${wsdd.dir}/crmacc/deploy.wsdd" />
</java>
</target>
Entretanto o seguinte erro é lançado a executar a ultima.
deployWebservice:
[java] Processing file C:\Users\Marcos.Vasconcelos\workspace\jse\crm-core\build\wsdd/crmacc/deploy.wsdd
[java] Exception: AxisFault
[java] faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
[java] faultSubcode:
[java] faultString: java.net.ConnectException: Connection refused: connect
[java] faultActor:
[java] faultNode:
[java] faultDetail:
[java] {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection refused: connect
[java] at java.net.PlainSocketImpl.socketConnect(Native Method)
[java] at java.net.PlainSocketImpl.doConnect(Unknown Source)
[java] at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
[java] at java.net.PlainSocketImpl.connect(Unknown Source)
[java] at java.net.SocksSocketImpl.connect(Unknown Source)
[java] at java.net.Socket.connect(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[java] at java.lang.reflect.Method.invoke(Unknown Source)
[java] at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
[java] at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
[java] at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
[java] at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
[java] at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
[java] at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
[java] at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
[java] at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
[java] at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
[java] at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
[java] at org.apache.axis.client.Call.invoke(Call.java:2767)
[java] at org.apache.axis.client.Call.invoke(Call.java:1792)
[java] at org.apache.axis.client.AdminClient.process(AdminClient.java:439)
[java] at org.apache.axis.client.AdminClient.process(AdminClient.java:404)
[java] at org.apache.axis.client.AdminClient.process(AdminClient.java:410)
[java] at org.apache.axis.client.AdminClient.process(AdminClient.java:320)
[java] at org.apache.axis.client.AdminClient.main(AdminClient.java:463)
[java] {http://xml.apache.org/axis/}hostname:img825
[java] Java Result: 1
Alguém sabe o que acontece?
Meu ambiente é com JBoss 4.1.2 e o deploy no server é Axis 1.4
Não sei se isso pode ter a ver, mas minha internet usa proxy e não sei se é necessario configurar isso pro AdminClient do axis.