[JBossWS] - Re: JSR-109Client, Mapping problem and trying to connect to
by d_pavel
OK this is what I discovered:
The "Could not update IN parameter to be INOUT..." error comes from processOutputDocElement method inside JAXRPCMetaDataBuilder class. The processOutputDocElement is called from
anonymous wrote :
| buildParameterMetaDataDoc(OperationMetaData opMetaData, WSDLInterfaceOperation wsdlOperation, ServiceEndpointMethodMapping seiMethodMapping,TypeMappingImpl typeMapping)
|
Now the description of this class is mentioning: "A meta data builder that is based on webservices.xml." So I supposed that this error occurs due to issues related to my webservices.xml.
Here is my webservices.xml :
| <webservices version='1.1' 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://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd'>
| <webservice-description>
| <webservice-description-name>Vax</webservice-description-name>
| <wsdl-file>WebRoot/WEB-INF/wsdl/Vax.wsdl</wsdl-file>
| <jaxrpc-mapping-file>WebRoot/WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
| <port-component>
| <port-component-name>VaxSoapPort</port-component-name>
| <!-- wsdl-port xmlns:portNS='https://www.acompany.com/VaxHttpTest/Vax.asmx'>portNS:VaxSoapPort</wsdl-port -->
| anonymous wrote : <wsdl-port xmlns:portNS='https://www.acompany.com/VaxHttpTest/VaxSoap'>portNS:VaxSoapPort</wsdl-port>
| <service-endpoint-interface>ca.agenthttp.vax.VaxSoap</service-endpoint-interface>
| <service-impl-bean>
| <servlet-link>VaxSoap</servlet-link>
| </service-impl-bean>
| </port-component>
| </webservice-description>
| </webservices>
|
Now from the docs we know:
anonymous wrote :
| The port-component-name element specifies a port component's name. This name is assigned by the module producer to name the service implementation bean in the module's deployment descriptor. The name must be unique among the port component names defined in the same module.
| Used in: port-component
| Example:
| <port-component-name>EmployeeService
| </port-component-name>
|
So according to this the wsdl-port tag line should be like this:
anonymous wrote :
| <wsdl-port xmlns:portNS='https://www.acompany.com/VaxHttpTest/VaxSoap'>portNS:VaxSoapPort</wsdl-port>
|
I tried also to provide the target namespace like in the commented line:
anonymous wrote :
| <!-- wsdl-port xmlns:portNS='https://www.acompany.com/VaxHttpTest/Vax.asmx'>portNS:VaxSoapPort</wsdl-port -->
|
(even if I know the correct use is like in the previous uncommented line) but with same error results:
anonymous wrote :
| Could not update IN parameter to be INOUT, as indicated in the mapping: parameters
|
Is it possible that this occurs because the wsdl location URL points to
anonymous wrote :
| https://www.acompany.com/VaxHttp/Vax?wsdl
|
but the real SEI is in fact "VaxSoap" class ???
Let me explain: "Vax" referenced in URL is just a simple javax.xml.rpc.Service and looks like this:
| /*
| * JBoss, the OpenSource EJB server
| * Distributable under LGPL license. See terms of license at gnu.org.
| */
|
| //Auto Generated by jbossws - Please do not edit!!!
|
| package ca.agenthttp.vax;
|
|
| import javax.xml.rpc.*;
|
|
| public interface Vax extends javax.xml.rpc.Service
| {
|
| public ca.agenthttp.vax.VaxSoap getVaxSoap() throws ServiceException;
|
| }
|
Now the ca.agenthttp.vax.VaxSoap is my real SEI which contains references to all the published methods which are web servable.
Please confirm to me if this webservices.xml is properly configured or if I have to reconfigure some other .xml files.
Last but not least this is my jboss-client.xml file:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <jboss-client>
| <jndi-name>jbossws-client</jndi-name>
| <service-ref>
| <service-ref-name>Vax</service-ref-name>
| <wsdl-override>
| https://www.acompany.com/VaxHttpTest/Vax.asmx?wsdl
| </wsdl-override>
| </service-ref>
| </jboss-client>
|
The service defined in Wax.wsdl looks like this:
| <wsdl:service name="Vax">
| <wsdl:port name="VaxSoap" binding="tns:VaxSoap">
| <soap:address location="https://www.acompany.com/VaxHttpTest/Vax.asmx" />
| </wsdl:port>
| </wsdl:service>
|
Any suggestions ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4036444#4036444
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4036444
17 years, 11 months
[JBossWS] - Generated WSDL has default port 8080 even if server runs on
by anescu
I'm trying to run the trailblazer from the JBoss ESB, on JBossAS 4.0.5. (the one shipped with ESB 4.0) I have changed the port on the server to 8090, instead of the default one.
And I have stumbled over a bug related to the WS:
I have changed everywhere in the code & config the port from 8080 to 8090, but when i deploy to JBoss i get this message:
2007-04-11 16:16:32,325 INFO [org.jboss.ws.server.ServiceEndpointManager] WebService started: http://ts541:8080/trailblazer/LoanBrokerWS
Here is a snapshot from the debug section (you can see that every other message reffers to port localhost:8090):
2007-04-11 16:16:31,309 DEBUG [org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory] parse: file:/D:/Work/jboss-4.0.5/server/default/tmp/jbossws/LoanBrokerWSService64691.wsdl
| 2007-04-11 16:16:31,622 DEBUG [org.jboss.ws.tools.JavaToXSD] load schema: http://localhost:8090/trailblazer=file:/D:/Work/jboss-4.0.5/server/defaul...
| 2007-04-11 16:16:31,622 DEBUG [org.jboss.ws.utils.JBossWSEntityResolver] resolveEntity: [pub=http://schemas.xmlsoap.org/soap/encoding/,sysid=null]
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLInterface] new WSDLInterface
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLInterface] setName: LoanBrokerWS
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLInterface] setQName: {http://localhost:8090/trailblazer}LoanBrokerWS
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLBinding] new WSDLBinding
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLBinding] setQName: {http://localhost:8090/trailblazer}LoanBrokerWSBinding
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLBinding] setName: LoanBrokerWSBinding
| 2007-04-11 16:16:31,669 DEBUG [org.jboss.ws.metadata.wsdl.WSDLBinding] setInterfaceName: LoanBrokerWSBinding
| 2007-04-11 16:16:31,684 DEBUG [org.jboss.ws.deployment.AbstractMetaDataBuilder] Replace service endpoint address 'REPLACE_WITH_ACTUAL_URL' with 'http://ts541:8080/trailblazer/LoanBrokerWS'
If you haven't fixed this issue maybe you can investigate the problem?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4036352#4036352
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4036352
17 years, 11 months