[JBossWS] - javax.xml.rpc.JAXRPCException: Cannot obtain operation meta
by kapilesh.arekar
Hi Folks
I am trying to resolve a problem a few days and I am stuck here. I am relatively new to webservices and trying to figure out what is the problem. I am using JBoss 4.0.5 GA which has bundled JBossWS 1.4. When I run a webservice client I get an error. Note: I have used "+++" to seperate peices of Source Code
Will appreciate if some one could point me to the problem. I am assuming that there is a problem is with some mapping file ,because I am able to invoke the sayHello method via the second method . Also I read same kind of problem faced by another person,but had no reply posted
http://lists.jboss.org/pipermail/jbossws-users/2007-January/001196.html
Note - I picked up the server code from example stated in the URL below
http://www.soapui.org/jbossws/topdown_example.html
Thanks a ton in advance
+++++++++++++++++++++++++++++++++++
ERROR
+++++++++++++++++++++++++++++++++++
Contacting webservice at http://localhost:8080/HelloWorld
output:Hello How are you, Kapilesh!
Exception in thread "main" javax.xml.rpc.JAXRPCException: Cannot obtain operation meta data for: {http://localhost:8080/HelloWorld}sayHello
at org.jboss.ws.jaxrpc.CallImpl.getOperationMetaData(CallImpl.java:840)
at org.jboss.ws.jaxrpc.CallImpl.getOperationMetaData(CallImpl.java:820)
at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:618)
at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:404)
at helloworld.client.HelloClient.main(HelloClient.java:50)
+++++++++++++++++++++++++++++++++++++++++++++
I am invoking the webservice in 2 ways . One fetching the remote interface and one use a CallImpl
My client code is as follows :-
+++++++++++++++++++++++++++++++++++++++++++++++
package helloworld.client;
import helloworld.*;
import javax.xml.rpc.Service;
import javax.xml.rpc.Call;
import javax.xml.rpc.ServiceFactory;
import org.jboss.ws.jaxrpc.ServiceImpl;
import org.jboss.ws.jaxrpc.CallImpl;
import org.jboss.ws.jaxrpc.encoding.*;
import javax.xml.namespace.QName;
import java.net.URL;
public class HelloClient
{
public static void main(String[] args)
throws Exception
{
String TARGET_NAMESPACE = "http://localhost:8080/HelloWorld";
String argument = "Kapilesh";
System.out.println("Contacting webservice at " + TARGET_NAMESPACE );
ServiceFactory factory = ServiceFactory.newInstance();
URL wsdlLoction = new URL(TARGET_NAMESPACE+"?wsdl");
QName serviceName = new QName(TARGET_NAMESPACE,
"HelloWorldService");
ServiceImpl service = (ServiceImpl)factory.createService(wsdlLoction, serviceName);
QName operationName = new QName(TARGET_NAMESPACE, "sayHello");
//first method
IHelloWorld hello = (IHelloWorld) service.getPort(IHelloWorld.class);
// System.out.println("hello.hello(" + argument + ")");
System.out.println("output:" + hello.sayHello(argument));
CallImpl call = (CallImpl)service.createCall();
call.setOperationName(operationName);
// System.out.println(call.isParameterAndReturnSpecRequired(operationName));
// second method
Object retObj = call.invoke(new Object[]{argument});
}
}
+++++++++++++++++++++++++++++++++++++++++++++++
I have deployed a webservice on a server and I am able to deploy it sucessfully...
15:08:30,968 WARN [PortComponentMetaData] <wsdl-port> element in webservices.xml not namespace qualified: HelloWorldPort
15:08:31,437 WARN [JSR109ServerMetaDataBuilder] Adding wsdl targetNamespace to: {http://localhost:8080/HelloWorld/}HelloWorldPort
15:08:31,812 INFO [TomcatDeployer] deploy, ctxPath=/HelloWorld, warUrl=.../tmp/deploy/tmp52320HelloWorld-exp.war/
15:08:32,062 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.5.GA/server/default/data/wsdl/HelloWorld.war/HelloWorld.wsdl
15:08:32,093 INFO [ServiceEndpointManager] WebService started: http://localhost:8080/HelloWorld
++++++++++++++++++++++++++++++++++++++++++++++++
On the server side I have the following files deployed
WEB-INF/classes/helloworld/HelloWorldService.class
WEB-INF/classes/helloworld/IHelloWorld.class
WEB-INF/classes/helloworld/impl/HelloWorld.class
WEB-INF/classes/HelloWorld-mapping.xml
WEB-INF/HelloWorld-mapping.xml
WEB-INF/jaxrpc-mapping.xml
WEB-INF/web.xml
WEB-INF/webservices.xml
WEB-INF/wsdl/HelloWorld.wsdl
++++++++++++++++++++++++++++++++++++++++++++++
webservices.xml
++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?>
<webservices version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:impl="http://localhost:8080/HelloWorld/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<webservice-description>
<webservice-description-name>HelloWorld</webservice-description-name>
<wsdl-file>WEB-INF/wsdl/HelloWorld.wsdl</wsdl-file>
<jaxrpc-mapping-file>WEB-INF/HelloWorld-mapping.xml</jaxrpc-mapping-file>
<port-component>
<port-component-name>IHelloWorldPort</port-component-name>
<wsdl-port>HelloWorldPort</wsdl-port>
<service-endpoint-interface>helloworld.IHelloWorld</service-endpoint-interface>
<service-impl-bean>
<servlet-link>HelloWorld</servlet-link>
</service-impl-bean>
</port-component>
</webservice-description>
++++++++++++++++++++++++++++++++++++++++++++++++
web.xml
++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<servlet-name>HelloWorld</servlet-name>
<servlet-class>helloworld.impl.HelloWorld</servlet-class>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
++++++++++++++++++++++++++++++++++++++++++++++++
jax-rpc-mapping.xml
++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?>
<java-wsdl-mapping version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<package-mapping>
<package-type>helloworld</package-type>
http://localhost:8080/HelloWorld/
</package-mapping><service-interface-mapping>
<service-interface>helloworld.HelloWorld</service-interface>
<wsdl-service-name xmlns:serviceNS="http://localhost:8080/HelloWorld/">serviceNS:HelloWorld</wsdl-service-name>
<port-mapping>
<port-name>IHelloWorldPort</port-name>
<java-port-name>IHelloWorldPort</java-port-name>
</port-mapping>
</service-interface-mapping><service-endpoint-interface-mapping>
<service-endpoint-interface>helloworld.IHelloWorld</service-endpoint-interface>
<wsdl-port-type xmlns:portTypeNS="http://localhost:8080/HelloWorld/">portTypeNS:IHelloWorld</wsdl-port-type>
<wsdl-binding xmlns:bindingNS="http://localhost:8080/HelloWorld/">bindingNS:IHelloWorldBinding</wsdl-binding>
<service-endpoint-method-mapping>
<java-method-name>sayHello</java-method-name>
<wsdl-operation>sayHello</wsdl-operation>
<method-param-parts-mapping>
<param-position>0</param-position>
<param-type>java.lang.String</param-type>
<wsdl-message-mapping>
<wsdl-message xmlns:wsdlMsgNS="http://localhost:8080/HelloWorld/">wsdlMsgNS:IHelloWorld_sayHello</wsdl-message>
<wsdl-message-part-name>String_1</wsdl-message-part-name>
<parameter-mode>IN</parameter-mode>
</wsdl-message-mapping>
</method-param-parts-mapping>
<wsdl-return-value-mapping>
<method-return-value>java.lang.String</method-return-value>
<wsdl-message xmlns:wsdlMsgNS="http://localhost:8080/HelloWorld/">wsdlMsgNS:IHelloWorld_sayHelloResponse</wsdl-message>
<wsdl-message-part-name>result</wsdl-message-part-name>
</wsdl-return-value-mapping>
</service-endpoint-method-mapping>
</service-endpoint-interface-mapping></java-wsdl-mapping>
++++++++++++++++++++++++++++++++++++++++++++++++
HelloWorld-mapping.xml
++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version='1.0' encoding='UTF-8'?><java-wsdl-mapping 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 '>
<package-mapping>
<package-type>helloworld</package-type>
http://localhost:8080/HelloWorld/
</package-mapping>
<service-interface-mapping>
<service-interface>helloworld.HelloWorldService</service-interface>
<wsdl-service-name xmlns:serviceNS='http://localhost:8080/HelloWorld/'>serviceNS:HelloWorldService</wsdl-service-name>
<port-mapping>
<port-name>HelloWorldPort</port-name>
<java-port-name>HelloWorldPort</java-port-name>
</port-mapping>
</service-interface-mapping>
<service-endpoint-interface-mapping>
<service-endpoint-interface>helloworld.IHelloWorld</service-endpoint-interface>
<wsdl-port-type xmlns:portTypeNS='http://localhost:8080/HelloWorld/'>portTypeNS:IHelloWorld</wsdl-port-type>
<wsdl-binding xmlns:bindingNS='http://localhost:8080/HelloWorld/'>bindingNS:HelloWorld</wsdl-binding>
<service-endpoint-method-mapping>
<java-method-name>sayHello</java-method-name>
<wsdl-operation>sayHello</wsdl-operation>
<method-param-parts-mapping>
<param-position>0</param-position>
<param-type>java.lang.String</param-type>
<wsdl-message-mapping>
<wsdl-message xmlns:wsdlMsgNS='http://localhost:8080/HelloWorld/'>wsdlMsgNS:sayHelloRequest</wsdl-message>
<wsdl-message-part-name>sayHelloRequest</wsdl-message-part-name>
<parameter-mode>IN</parameter-mode>
</wsdl-message-mapping>
</method-param-parts-mapping>
<wsdl-return-value-mapping>
<method-return-value>java.lang.String</method-return-value>
<wsdl-message xmlns:wsdlMsgNS='http://localhost:8080/HelloWorld/'>wsdlMsgNS:sayHelloResponse</wsdl-message>
<wsdl-message-part-name>sayHelloResponse</wsdl-message-part-name>
</wsdl-return-value-mapping>
</service-endpoint-method-mapping>
</service-endpoint-interface-mapping>
</java-wsdl-mapping>
++++++++++++++++++++++++++++++++++++++++++++++++
HelloWorld.wsdl
++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="HelloWorld"
targetNamespace="http://localhost:8080/HelloWorld/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://localhost:8080/HelloWorld/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types/>
<wsdl:message name="sayHelloRequest">
<wsdl:part name="sayHelloRequest" type="xsd:string"></wsdl:part>
</wsdl:message>
<wsdl:message name="sayHelloResponse">
<wsdl:part name="sayHelloResponse" type="xsd:string"></wsdl:part>
</wsdl:message>
<wsdl:portType name="IHelloWorld">
<wsdl:operation name="sayHello">
<wsdl:input message="tns:sayHelloRequest"></wsdl:input>
<wsdl:output message="tns:sayHelloResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloWorld" type="tns:IHelloWorld">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="sayHello">
<soap:operation
soapAction="http://localhost:8080/HelloWorld/sayHello" />
<wsdl:input>
<soap:body use="literal"
namespace="http://localhost:8080/HelloWorld/" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal"
namespace="http://localhost:8080/HelloWorld/" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldService">
<wsdl:port name="HelloWorldPort" binding="tns:HelloWorld">
<soap:address location="http://localhost:8080/HelloWorld" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
+++++++++++++++++++++++++++++++++++++++++++++++
My Java Class Files are as follows :-
/*
* 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 helloworld;
import javax.xml.rpc.*;
public interface HelloWorldService extends javax.xml.rpc.Service
{
public helloworld.IHelloWorld getHelloWorldPort() throws ServiceException;
}
+++++++++++++++++++++++++++++++++++
/*
* JBossWS WS-Tools Generated Source
*
* Generation Date: Mon Jun 04 14:47:16 IST 2007
*
* This generated source code represents a derivative work of the input to
* the generator that produced it. Consult the input for the copyright and
* terms of use that apply to this source code.
*/
package helloworld;
public interface IHelloWorld extends java.rmi.Remote
{
public java.lang.String sayHello(java.lang.String sayHelloRequest) throws java.rmi.RemoteException;
}
+++++++++++++++++++++++++++++++++++++++++++++
HelloWorld.java
++++++++++++++++++++++++++++++++++
package helloworld.impl;
import helloworld.IHelloWorld;
public class HelloWorld implements IHelloWorld
{
public String sayHello(String sayHelloRequest)
{
return "Hello How are you, " + sayHelloRequest + "!";
}
}
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4050878#4050878
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4050878
17 years, 6 months
[JBossWS] - Newbie Question: WebService & Object Parameter
by FabBoco
Hi
I have a very simple web service
|
| public interface MyWebService
| {
| public String sayHello(String to);
| public Long add(MyClass e1);
| }
|
| @Stateless
| @WebService(name="MyService", serviceName="MyService")
| @Remote(MyWebService.class)
| @RemoteBinding
| @SOAPBinding(style=SOAPBinding.Style.RPC)
| public class MyWebServiceBean implements MyWebService
| {
| @WebMethod
| public String sayHello(String to)
| {
| return "Hello "+to;
| }
|
| @WebMethod
| public Long add(MyClass e1)
| {
| return e1.getL1()+e1.getL2();
| }
| }
|
|
this is myClass
| public class MyClass implements Serializable
| {
| private Long l1;
| private Long l2;
|
| public Long getL1()
| {
| return l1;
| }
|
| public void setL1(Long l1)
| {
| this.l1 = l1;
| }
|
|
| public Long getL2()
| {
| return l2;
| }
|
|
| public void setL2(Long l2)
| {
| this.l2 = l2;
| }
|
| }
|
|
I deploy it and I issue the following command to generate the auxiliary classes
|
| wsconsume.sh -k http://fabocoxp:8080/MyWebServiceBeanService/MyWebServiceBean?wsdl -s src -p test.webServices.aux
|
|
I call the webService with this code (using the auxiliary classes)
| MyService_Service myss = new MyService_Service();
| MyService myService = myss.getMyServicePort();
|
| System.out.println(myService.sayHello("Bob"));
|
|
The problem is that
| myService.add(...);
|
accept a parameter of class testSeamWebApp2.webServices.aux.MyClass that is the auxiliary class.
myClass is a class belonging to a library shared between client end server.
To call the web service, I have to use the auxiliary class, not my library class coping values from one to the other. It's very boring.
Moreover, if MyClass contains other classes, the coping operation as to be performed for inner classes to. This is almost impossible !
Is there any way to use the original myClass as parameter type ?
Thank you very much
Fab.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4050679#4050679
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4050679
17 years, 6 months
[JBossWS] - SOAP header not being set as request param
by griff7023
I am having trouble migrating a WS from JAX-WS RI 2.0/JBoss 4.0.5.GA to JBossWS/JBoss 4.2.0.GA.
The WS starts ok and I can connect a client but the request and response headers are always null.
For example, I have an operation SubmitBasket which is defined as follows:
| @WebMethod(operationName = "SubmitBasket")
| @WebResult(name = "receipt", targetNamespace = "http://www.m-bar-go.com", partName = "response")
| public Receipt submitBasket(
| @WebParam(name = "header", targetNamespace = "http://www.m-bar-go.com", header = true)
| Header inboundHeader,
| @WebParam(name = "header", targetNamespace = "http://www.m-bar-go.com", header = true, mode = WebParam.Mode.OUT)
| Holder<Header> outboundHeader,
| @WebParam(name = "basket", targetNamespace = "http://www.m-bar-go.com", partName = "request")
| Basket request) throws BadBasketFault, BadRequestFault;
|
But when I try to access either the inboundHeader or outboundHeader params they are both null.
Looking in the log I can see the following:
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [user-agent=Java/1.5.0_06]
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [host=127.0.0.1:8080]
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [connection=keep-alive]
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [content-length=540]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.soap.MessageFactoryImpl] createMessage: [contentType=text/xml; charset=utf-8]
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] createMessage
| <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><header xmlns="http://www.m-bar-go.com"><uid>01156986742242df80c7a68036a39aaf</uid></header></S:Header><S:Body><basket xmlns="http://www.m-bar-go.com"><scheme-name>test</scheme-name><customer-id>05000005</customer-id><store-id>501</store-id><type>sale</type><basket><item><product-id>05010103</product-id></item><item><product-id>05010202</product-id></item><item><product-id>05010301</product-id></item></basket></basket></S:Body></S:Envelope>
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://schemas.xmlsoap.org/soap/envelope/}S:Envelope
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addNamespaceDeclaration: xmlns:S='http://schemas.xmlsoap.org/soap/envelope/'
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://schemas.xmlsoap.org/soap/envelope/}S:Header
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Header
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Envelope -> {http://schemas.xmlsoap.org/soap/envelope/}Header
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://schemas.xmlsoap.org/soap/envelope/}S:Body
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Body
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Envelope -> {http://schemas.xmlsoap.org/soap/envelope/}Body
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://www.m-bar-go.com}header
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://www.m-bar-go.com}header
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Header -> {http://www.m-bar-go.com}header
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPContentElement] setAttribute: [nsURI=http://www.w3.org/2000/xmlns/,name=xmlns,value=http://www.m-bar-go.com]
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] removeContents
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://www.m-bar-go.com}basket
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://www.m-bar-go.com}basket
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPBodyImpl] addChildElement: {http://www.m-bar-go.com}basket
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Body -> {http://www.m-bar-go.com}basket
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPBodyImpl] appendChild: basket
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPContentElement] setAttribute: [nsURI=http://www.w3.org/2000/xmlns/,name=xmlns,value=http://www.m-bar-go.com]
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.MessageTrace] Incoming Request Message
| <S:Envelope xmlns:S='http://schemas.xmlsoap.org/soap/envelope/'>
| <S:Header>
| <header xmlns='http://www.m-bar-go.com'>
| <uid>01156986742242df80c7a68036a39aaf</uid>
| </header>
| </S:Header>
| <S:Body>
| <basket xmlns='http://www.m-bar-go.com'>
| <scheme-name>test</scheme-name>
| <customer-id>05000005</customer-id>
| <store-id>501</store-id>
| <type>sale</type>
| <basket>
| <item>
| <product-id>05010103</product-id>
| </item>
| <item>
| <product-id>05010202</product-id>
| </item>
| <item>
| <product-id>05010301</product-id>
| </item>
| </basket>
| </basket>
| </S:Body>
| </S:Envelope>
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] put: APPLICATION:javax.xml.ws.binding.attachments.inbound={}
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS] callRequestHandlerChain: POST
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl] getHandlerChain: [type=POST,info=[service={http://www.m-bar-go.com}MbargoPayPointImplServic...]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Create a handler executor: []
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.handler.message.outbound): APPLICATION:javax.xml.ws.handler.message.outbound=false
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.addressing.context.inbound): null
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.soap.SOAPMessageDispatcher] getDispatchDestination: {http://www.m-bar-go.com}SubmitBasket
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS] unbindRequestMessage: {http://www.m-bar-go.com}SubmitBasket
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.EndpointInvocation] setRequestParamValue: [name={http://www.m-bar-go.com}header,value=org.jboss.ws.core.soap.SOAPHeaderElementImpl]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.EndpointInvocation] setRequestParamValue: [name={http://www.m-bar-go.com}header,value=null]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.EndpointInvocation] setRequestParamValue: [name={http://www.m-bar-go.com}basket,value=org.jboss.ws.core.soap.SOAPBodyElementDoc]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS] callRequestHandlerChain: ENDPOINT
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl] getHandlerChain: [type=ENDPOINT,info=[service={http://www.m-bar-go.com}MbargoPayPointImplSe...]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Create a handler executor: []
| 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.handler.message.outbound): APPLICATION:javax.xml.ws.handler.message.outbound=false
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS] callRequestHandlerChain: PRE
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl] getHandlerChain: [type=PRE,info=[service={http://www.m-bar-go.com}MbargoPayPointImplService...]
| 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Create a handler executor: []
| 2007-06-01 16:43:40,880 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.handler.message.outbound): APPLICATION:javax.xml.ws.handler.message.outbound=false
| 2007-06-01 16:43:40,880 TRACE [org.jboss.ws.core.CommonMessageContext] put: APPLICATION:org.jboss.ws.allow.expand.dom=true
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.server.ServiceEndpointInvokerJSE] invokeServiceEndpoint: submitBasket
| 2007-06-01 16:43:40,880 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.servlet.request): APPLICATION:javax.xml.ws.servlet.request=org.apache.catalina.connector.RequestFacade@14f1c67
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] getRequestPayload
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] getRequestParamValue: {http://www.m-bar-go.com}header
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] transformPayloadValue: null -> null
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] syncEndpointInputParam: null -> null(0)
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] getRequestParamValue: {http://www.m-bar-go.com}basket
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] -----------------------------------
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] Transitioning from XML_VALID to OBJECT_VALID
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.XMLContent] getObjectValue [xmlType={http://www.m-bar-go.com}>basket,javaType=class com.thelightagency.mbargo.ws.lightweight.paypoint.Basket]
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.jaxws.JAXBDeserializer] deserialize: [xmlName={http://www.m-bar-go.com}basket,xmlType={http://www.m-bar-go.com}>basket]
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.jaxws.JAXBDeserializer] deserialized: com.thelightagency.mbargo.ws.lightweight.paypoint.Basket
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.XMLContent] objectValue: com.thelightagency.mbargo.ws.lightweight.paypoint.Basket
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] -----------------------------------
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] transformPayloadValue: org.jboss.ws.core.soap.SOAPBodyElementDoc -> com.thelightagency.mbargo.ws.lightweight.paypoint.Basket
| 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] syncEndpointInputParam: com.thelightagency.mbargo.ws.lightweight.paypoint.Basket -> com.thelightagency.mbargo.ws.lightweight.paypoint.Basket(2)
|
As you can see the message on the wire has a header but for some reason it is reported as null during the unbind.
Any ideas?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4050554#4050554
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4050554
17 years, 6 months
[JBossWS] - a question
by sashaxiv
i am updating my aplication from ejb 2.1 to ejb3 anf jboss 4.2. I stop using axis in my server aplication and now i am using jbossws with annotations. The webservices works fine, but i need to change the name of the objects generated in the client aplication in order to avoid changing the client code.
For instance:
the login web service from the server code:
............
@WebService(endpointInterface="com.satdatatelecom.satdataweb.model.session.session.SesionEndPointInterface", targetNamespace = "http://localhost/jboss-net/services/Sesion", serviceName = "LoginService")
@Remote(SesionSession.class)
@RemoteBinding(jndiBinding = "/ejb3/EJB3SesionEndPointInterface")
@Stateless
public class SesionSessionBean implements SesionSession {
@PersistenceContext(unitName = GlobalNames.PERSISTENCE_UNIT)
private EntityManager entityManager;
@WebMethod
@WebResult
public LoginVO loginUsuario(String idEmpresa, String loginName, String password, String session) throws EmpresaNotFoundException, UsuarioNotFoundException, PasswordException, SessionException, ConcesionException, ConcesionEmpresaException, RemoteException, com.satdatatelecom.satdataweb.model.session.exceptions.SessionException {
try{
LoginUsuarioAction action = new LoginUsuarioAction(idEmpresa, loginName, password,
session, entityManager);
LogMessages.info("login", "El usuario "+loginName+" realiza login", true);
return action.execute();
}catch (EmpresaNotFoundException e){
throw e;
}catch (UsuarioNotFoundException e){
throw e;
}
}
}
jboss publish the service , but when the client uses axis to create the objects needed as LoginVo, which is returned by the login service, i would wish to change the type forn loginvo to LoginVOWS, because in the past all the client aplication worked with it in its code.
In the Ejb 2.1 sercer aplication i used in LoginVO:
/**
* @jboss-net.xml-schema
* urn = "satdataweb:LoginVOWS"
*/
to change the name type
now, i tried to use @WebMethod(name="loginVOWs) but it only changes the name in the wsdl document :
..................................
...........................
if i wanted the type to be loginVOWs i need to change the wsdl document by myself.
...................
..................................
...........................
What can i do?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4050459#4050459
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4050459
17 years, 6 months