[JBossWS] - In which package I can found XOPMarshaller ?
by ShadenS
Hi JBoss Community,
I solve some problems with new release of jbossws... great work, JBoss Staff!! :-)
Now, I've got some exceptions that I don't understand very well :(
In particular, where can I find org/jboss/xb/binding/sunday/xop/XOPMarshaller ? In jbossws-1.0.2 it seems not exists!
anonymous wrote : Caused by: java.lang.NoClassDefFoundError: org/jboss/xb/binding/sunday/xop/XOPMarshaller
| at org.jboss.ws.jaxrpc.encoding.SimpleSerializerFactory.getSerializer(SimpleSerializerFactory.java:37)
| at org.jboss.ws.soap.SOAPContentElement.getXMLFragment(SOAPContentElement.java:144)
| at org.jboss.ws.soap.SOAPContentElement.expandToDOM(SOAPContentElement.java:802)
| at org.jboss.ws.soap.SOAPContentElement.getChildNodes(SOAPContentElement.java:719)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:211)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:270)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:270)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:270)
| at org.jboss.util.xml.DOMWriter.print(DOMWriter.java:186)
| at org.jboss.ws.soap.SOAPMessageImpl.writeTo(SOAPMessageImpl.java:251)
| at org.jboss.ws.binding.soap.SOAPMessageMarshaller.write(SOAPMessageMarshaller.java:78)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:164)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:81)
| at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
| at org.jboss.remoting.Client.invoke(Client.java:525)
| at org.jboss.remoting.Client.invoke(Client.java:488)
| at org.jboss.ws.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:186)
All exceptions give me from jboss-ide:
anonymous wrote : java.rmi.RemoteException: Call invocation failed: Could not transmit message; nested exception is:
| javax.xml.soap.SOAPException: Could not transmit message
| at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:718)
| at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:404)
| at src.clients.DIIClient.main(DIIClient.java:47)
| Caused by: javax.xml.soap.SOAPException: Could not transmit message
| at org.jboss.ws.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:201)
| at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:687)
| ... 2 more
| Caused by: java.lang.NoClassDefFoundError: org/jboss/xb/binding/sunday/xop/XOPMarshaller
| at org.jboss.ws.jaxrpc.encoding.SimpleSerializerFactory.getSerializer(SimpleSerializerFactory.java:37)
| at org.jboss.ws.soap.SOAPContentElement.getXMLFragment(SOAPContentElement.java:144)
| at org.jboss.ws.soap.SOAPContentElement.expandToDOM(SOAPContentElement.java:802)
| at org.jboss.ws.soap.SOAPContentElement.getChildNodes(SOAPContentElement.java:719)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:211)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:270)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:270)
| at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:270)
| at org.jboss.util.xml.DOMWriter.print(DOMWriter.java:186)
| at org.jboss.ws.soap.SOAPMessageImpl.writeTo(SOAPMessageImpl.java:251)
| at org.jboss.ws.binding.soap.SOAPMessageMarshaller.write(SOAPMessageMarshaller.java:78)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:164)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:81)
| at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
| at org.jboss.remoting.Client.invoke(Client.java:525)
| at org.jboss.remoting.Client.invoke(Client.java:488)
| at org.jboss.ws.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:186)
| ... 3 more
|
And source code of my DII client:
package src.clients;
|
| import java.net.URL;
|
| import javax.xml.rpc.Service;
| import javax.xml.rpc.ServiceFactory;
| import javax.xml.rpc.Call;
| import javax.xml.rpc.JAXRPCException;
| import javax.xml.namespace.QName;
| import javax.xml.rpc.ParameterMode;
| import javax.xml.rpc.encoding.XMLType;
|
|
| public class DIIClient {
|
| private static String endpoint = "http://pc3000:8080/NewVersionAll/HelloBean";
| private static String qnameService = "Risposta";
| private static String qnamePort = "EndpointInterface";
| private static String BODY_NAMESPACE_VALUE = "http://org.jboss.ws/samples/jsr181ejb";
| private static String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
| private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";
| private static String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
|
| public static void main(String[] args) {
| try {
| ServiceFactory factory = ServiceFactory.newInstance();
| Service service = factory.createService(new QName(qnameService));
|
| QName port = new QName(qnamePort);
|
| //create JAX-RPC Call using JAX-RPC Service's createCall() method.
| Call call = service.createCall(port);
|
| // Configure your Call instance with its setter methods
| call.setTargetEndpointAddress(endpoint);
| call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
| call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
| call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
| QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
| call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "reply"));
| call.setReturnType(QNAME_TYPE_STRING);
|
| call.addParameter("String_1", QNAME_TYPE_STRING, ParameterMode.IN);
| String[] params = { "Duke!" };
|
| // Invoke the WS operation using the JAX-RPC Call's invoke method
| String result = (String) call.invoke(params);
|
| System.out.println("result");
|
| } catch (Exception ex) {
| ex.printStackTrace();
| }
| }
|
| }
Help me please. From this it can depends my thesis (on web services security).
Bye!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961254#3961254
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961254
19 years, 9 months
[EJB 3.0] - Re: How to get SOAP message inside a EJB layer
by Arno Werr
Here is my sample of accessing SOAP message body content - Cabin by EJB exposed as a web service
| package com.bruno.net.ejb;
|
| import javax.annotation.PostConstruct;
| import javax.ejb.Stateless;
| import javax.jws.Oneway;
| import javax.jws.WebMethod;
| import javax.jws.WebParam;
| import javax.jws.WebResult;
| import javax.jws.WebService;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
| import javax.xml.ws.WebServiceRef;
|
| import org.apache.log4j.Logger;
|
| import com.bruno.net.domain.Cabin;
|
| @WebService(name = "TravelAgent", serviceName = "TravelAgentService")
| @WebServiceRef(name = "service/TravelAgentService")
| @Stateless
| public class TravelAgentBean implements TravelAgentRemote {
| private Logger logger;
|
| @PersistenceContext(unitName = "titan")
| private EntityManager manager;
|
| @PostConstruct
| public void postConstruct() {
| logger = Logger.getLogger(getClass().getName());
| }
|
| @WebMethod
| @Oneway
| public void createCabin(@WebParam(name = "Cabin")
| Cabin cabin) {
| logger.debug("here is my cabin delivered by JAX-WS = " + cabin);
| logger.debug("cabin name " + cabin.getName());
| logger.debug("bed count " + cabin.getBedCount());
| manager.persist(cabin);
| }
|
| @WebMethod
| @WebResult(name = "Cabin")
| public Cabin findCabin(@WebParam(name = "ID")
| int pKey) {
| return manager.find(Cabin.class, pKey);
| }
| }
|
If you need SOAP header you have to create and wire up a message handler to work with SAAJ.
Cheers,
Arno
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961246#3961246
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961246
19 years, 9 months