Submit order using Webservice over JMS

Hi,
from the SDK samples(webservice sample) and from one of the reply from the forum:
The wlsmimehdrContent_Type JMS header must be set to the following value: text/xml; charset="UTF-8"
The URI JMS header must be set to the following value: /osm/wsapi
Want to test webservice over JMS using SOAP UI (that supports HermesJMS):
I have configured HermesJMS then configured SoapUI 4.0 by adding endpoint as JMS then selected webserive endpoint as JMS:osm_ws_request (long name) instead of "http://localhost:7001/osm/wsapi".
Now for JMS endpoint where to add webservice URI "/osm/wsapi" unable to figure out where to add URI (in SOAPUI or HermesJMS) which parameter need to set for webservice URI?
Regards,
Rutvej

Hi,
Above query is resolved..
Cheers,
Rutvej

Similar Messages

  • Pros and Cons of using REST over JMS (and other technologies)

    Hey all,
    I am working on a project where we were using JMS initially to send messages between servers. Our front end servers have a RESTful API and use JEE6, with EJB 3.1 entity beans connected to a mysql database and so forth. The back end servers are more like "agents" so to speak.. we send some work for them to do, they do it. They are deployed in GlassFish 3.1 as well, but initially I was using JMS to listen to messages. I learned that JMS onMessage() is not threaded, so in order to facilitate handling of potentially hundreds of messages at once, I had to implement my own threading framework. Basically I used the Executor class. I could have used MDBs, but they are a lot more heavyweight than I needed, as the code within the onMessage was not using any of the container services.
    We ran into other issues, such as deploying our app in a distributed architecture in the cloud like EC2 was painful at best. Currently the cloud services we found don't support multi-cast so the nice "discover" feature for clustering JMS and other applications wasn't going to work. For some odd reason there seems to be little info on building out a scalable JEE application in the cloud. Even the EC2 techs, and RackSpace and two others had nobody that understood how to do it.
    So in light of this, plus the data we were sending via JMS was a number of different types that had to all be together in a group to be processed.. I started looking at using REST. Java/Jersey (JAX-RS) is so easy to implement and has thus far had wide industry adoption. The fact that our API is already using it on the front end meant I could re-use some of the representations on the back end servers, while a few had to be modified as our public API was not quite needed in full on the back end. Replacing JMS took about a day or so to put the "onmessage" handler into a REST form on the back end servers. Being able to submit an object (via JAXB) from the front servers to the back servers was much nicer to work with than building up a MapMessage object full of Map objects to contain the variety of data elements we needed to send as a group to our back end servers. Since it goes as XML, I am looking at using gzip as well, which should compress it by about 90% or so, making it use much less bandwidth and thus be faster. I don't know how JMS handles large messages. We were using HornetQ server and client.
    So I am curious what anyone thinks.. especially anyone that is knowledgeable with JMS and may understand REST as well. What benefits do we lose out on via JMS. Mind you, we were using a single queue and not broadcasting messages.. we wanted to make sure that one and only one end server got the message and handled it.
    Thanks..look forward to anyone's thoughts on this.

    851827 wrote:
    Thank you for the reply. One of the main reasons to switch to REST was JMS is strongly tied to Java. While I believe it can work with other message brokers that other platforms/languages can also use, we didn't want to spend more time researching all those paths. REST is very simple, works very well and is easy to implement in almost any language and platform. Our architecture is basically a front end rest API consumed by clients, and the back end servers are more like worker threads. We apply a set of rules, validations, and such on the front end, then send the work to be done to the back end. We could do it all in one server tier, but we also want to allow other 3rd parties to implement the "worker" server pieces in their own domains with their own language/platform of choice. Now, with this model, they simply provide a URL to send some REST calls to, and send some REST calls back to our servers.well, this sounds like this would be one of those requirements which might make jms not a good fit. as ejp mentioned, message brokers usually have bindings in multiple languages, so jms does not necessarily restrict you from using other languages/platforms as the worker nodes. using a REST based api certainly makes that more simple, though.
    As for load balancing, I am not entirely sure how glassfish or JBoss does it. Last time I did anything with scaling, it involved load balancers in front of servers that were session/cookie aware for stateful needs, and could round robin or based on some load factor on each server send requests to appropriate servers in a cluster. If you're saying that JBoss and/or GlassFish no longer need that.. then how is it done? I read up on HornetQ where a request sent to one ip/hornetq server could "discover" other servers in a cluster and balance the load by sending requests to other hornetq servers. I assume this is how the JEE containers are now doing it? The problem with that to me is.. you have one server that is loaded with all incoming traffic and then has to resend it on to other servers in the cluster. With enough load, it seems that the glassfish or jboss server become a load balancer and not doing what they were designed to do.. be a JEE container. I don't recall now if load balancing is in the spec or not..I would think it would not be required to be part of a container though, including session replication and such? Is that part of the spec now?you are confusing many different types of scaling. different layers of the jee stack scale in different ways. you usually scale/load balance at the web layer by putting a load balancer in front of your servers. at the ejb layer, however, you don't necessarily need that. in jboss, the client-side stub for invoking remote ejbs in a cluster will actually include the addresses for all the boxes and do some sort of work distribution itself. so, no given ejb server would be receiving all the incoming load. for jms, again, there are various points of work to consider. you have the message broker itself which is scaled/load balanced in whatever fashion it supports (don't know many details on actual message broker impls). but, for the mdbs themselves, each jee server is pretty independent. each jee server in the cluster will start a pool of mdbs and setup a connection to the relevant queue. then, the incoming messages will be distributed to the various servers and mdbs accordingly. again, no single box will be more loaded than any other.
    load balancing/clustering is not part of the jee "spec", but it is one of the many features that a decent jee server will handle for you. the point of jee was to specify patterns for doing work which, if followed, allow the app server to do all the "hard" parts. some of those features are required (transactions, authentication, etc), and some of those features are not (clustering, load-balancing, other robustness features).
    I still would think dedicated load balancers, whether physical hardware or virtual software running in a cloud/VM setup would be a better solution for handling load to different tiers?like i said, that depends on the tier. makes sense in some situations, not others. (for one thing, load-balancers tend to be http based, so they don't work so well for non-http protocols.)

  • WebServices over JMS

    Hello,
    Is that possible to have WebServices working with JMS server behind the scene? I mean not using SOAP/HTTP, but SOAP/JMS so the SOAP message is posted to JMS queue directly by the stub without being sent via HTTP on server and then pushed to JMS queue.
    From what I saw in the Sun technical articles, they offer next solution:
    Stub->Generates SOAP message->Message is sent over HTTP on server->Servlet takes the message and pushes to JMS queue
    What I'm looking for is:
    Stub->Generates SOAP message->Message is pushed to the JMS server directly.
    Can someone help me with this?
    Thanks.

    please check the below link it has some info
    http://www-128.ibm.com/developerworks/webservices/library/ws-jms/

  • Configure # of JMS consumers for WebServices over JMS Transport

    I'm using WebLogic Server 9.2. My Web Services are using JMS Transport.
    10,000 Web Services requests are submitted to the Web Services JMS queue at the same time. Processing time seems a little slow. In the Admin console, monitoring info of the JMS queue shows the Consumers is 4 and Consumers High is 6.
    I want to scale Web Services processing by increasing the number of JMS consumers that transform JMS request messages into Web Services requests. Does anyone have an idea to configure it?

    Hi,
    I don't think the number of consumers for a service is configurable. There is a single consumer for each service. Well, there is another consumer for interop purposes, which is irrelevant to our discussion here.
    You may be aware that multiple consumers reading from the same queue would result in requests being processed in parallel, which means the order that the requests are processed might be different from the order that they are put into the queue.
    For applications where the order of processing the requests to the same web service is not important, it probably makes sense to have an option of configuring multiple consumers. But this is no such option right now.
    Regards,
    Dongbo, BEA

  • How to use SOAP over JMS with Glassfish

    Hi
    Is it possible to use JMS with JAX-WS2.0 ?
    Any answer welcome
    Andre

    I want to secure the message between my web service and a Automated activity in SAP Netweaver BPM (Process
    development). I think in this case the usage of of SOAP adapter may not be useful.
    Security parameters (settings) can be defined for Sender SOAP Adapter (as in your case it is)......to know more check this help section: http://help.sap.com/saphelp_nwpi71/helpdata/EN/fc/5ad93f130f9215e10000000a155106/content.htm
    Check the section: Define Security Parameters.
    Regards,
    Abhishek.

  • Accessing SOAP over JMS webservice

    Hi,
    From Webdynpro can I access a webservice which is using SOAP over JMS.
    Is there any example on it.
    Thanks.
    MS.

    I have similar situation.
    R/3->XI->java message server
    XI and message server exchange SOAP envelope using JMS. (SOAP over JMS)
    XI posts SOAP message in queue & in inbound case would pickup SOAP message from JMS queue.
    My question: When using a SOAP adapter, it does work of stripping SOAP envelope/ header? Do we need to handle it in xslt when a message is picked up from external message queue(from message server)? In other words how to handle SOAP message in inbound case?
    Thanks,
    sachin
    PS: Points will be awarded for useful answer

  • Asynchronous SOAP over JMS

    Is it possible to expose an operation type of "Process Notification" using SOAP over JMS? When you select the Process Web Service option on the process it only allows you to define SOAP over HTTP web services. It's possible to invoke one-way SOAP over JMS web services but I cannot find a way of exposing a BPM process (or process notification) as a one-way SOAP over JMS web service.
    Thanks in advance

    There is not a way to use JMS instead of HTTP to expose the process notifications. You would need to create a JMS listener, parse the soap message, and then notify the instance (using correlations probably) from within the global.
    Creating JMS listeners is not hard to do. Let me know if you need help with that.
    HTH,
    Mark

  • Error Generating WebService for SOAP over JMS

    Hi,
    I've been tring to create an addition web service thta takes two input and returns the sum. I was able to generate the WSDL using JDevelopers GUI tool for generating WSDL, but I notices that there was no transport layer, in thebinding that suppoerted SOAP, and the "create web service from WSDL" wizard also gave and error message:
    oracle.jdeveloper.webservices.model.WebServiceException: The chosen WSDL contains no SOAP 1.1 bindings and is therefore unsuitable for generation of a JAX-RPC web service for WLS. Only SOAP 1.1 bindings are supported for generation of JAX-RPC web services for deployment to WLS.
    This is the WSDL I created:
    <?xml version="1.0" encoding="UTF-8" ?>
    <definitions targetNamespace="http://www.example.org/addition"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://www.example.org/addition"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:jms="http://schemas.xmlsoap.org/wsdl/jms/"
    xmlns:format="http://schemas.xmlsoap.org/wsdl/formatbinding/">
    <types>
    <xsd:schema targetNamespace="http://www.example.org/addition/types"
    elementFormDefault="qualified"/>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:add="http://www.example.org/addition"
    targetNamespace="http://www.example.org/addition"
    elementFormDefault="qualified">
    <xsd:element name="additionInput">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="a" type="xsd:int"/>
    <xsd:element name="b" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="additionOutput">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="sum" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    </types>
    <message name="AdditionInputMessage">
    <part name="payload" element="tns:additionInput"/>
    </message>
    <message name="AdditionOutputMessage">
    <part name="payload" element="tns:additionOutput"/>
    </message>
    <portType name="AdditionPortType">
    <operation name="addition">
    <input message="tns:AdditionInputMessage"/>
    <output message="tns:AdditionOutputMessage"/>
    </operation>
    </portType>
    <binding name="AdditionPortTypeJMSBinding" type="tns:AdditionPortType">
    <jms:binding type="ObjectMessage"/>
    <format:typeMapping encoding="Java" style="Java">
    <format:typeMap typeName="tns:additionInput" formatType=""/>
    <format:typeMap typeName="tns:additionOutput" formatType=""/>
    </format:typeMapping>
    <operation name="addition">
    <input>
    <jms:input parts="payload"/>
    <jms:property name="payloadProperty" part="payload"/>
    </input>
    <output>
    <jms:output parts="payload"/>
    <jms:property name="payloadProperty" part="payload"/>
    </output>
    </operation>
    </binding>
    <service name="AdditionPortType">
    <port name="AdditionPortTypePort" binding="tns:AdditionPortTypeJMSBinding"/>
    </service>
    </definitions>
    Could someone please help me out? I've been struggling with this problem for two weeks and can't make any headway. It's really driving me nuts. I've looked all over the web, and while everyone agrees that SOAP over JMS is possible, no one sems to have a working solution. One example I was able to get hold of used ant for deployment, but the deploy task failed when I ran it. Please, please help me.

    Hi,
    I've been tring to create an addition web service thta takes two input and returns the sum. I was able to generate the WSDL using JDevelopers GUI tool for generating WSDL, but I notices that there was no transport layer, in thebinding that suppoerted SOAP, and the "create web service from WSDL" wizard also gave and error message:
    oracle.jdeveloper.webservices.model.WebServiceException: The chosen WSDL contains no SOAP 1.1 bindings and is therefore unsuitable for generation of a JAX-RPC web service for WLS. Only SOAP 1.1 bindings are supported for generation of JAX-RPC web services for deployment to WLS.
    This is the WSDL I created:
    <?xml version="1.0" encoding="UTF-8" ?>
    <definitions targetNamespace="http://www.example.org/addition"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://www.example.org/addition"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:jms="http://schemas.xmlsoap.org/wsdl/jms/"
    xmlns:format="http://schemas.xmlsoap.org/wsdl/formatbinding/">
    <types>
    <xsd:schema targetNamespace="http://www.example.org/addition/types"
    elementFormDefault="qualified"/>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:add="http://www.example.org/addition"
    targetNamespace="http://www.example.org/addition"
    elementFormDefault="qualified">
    <xsd:element name="additionInput">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="a" type="xsd:int"/>
    <xsd:element name="b" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="additionOutput">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="sum" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    </types>
    <message name="AdditionInputMessage">
    <part name="payload" element="tns:additionInput"/>
    </message>
    <message name="AdditionOutputMessage">
    <part name="payload" element="tns:additionOutput"/>
    </message>
    <portType name="AdditionPortType">
    <operation name="addition">
    <input message="tns:AdditionInputMessage"/>
    <output message="tns:AdditionOutputMessage"/>
    </operation>
    </portType>
    <binding name="AdditionPortTypeJMSBinding" type="tns:AdditionPortType">
    <jms:binding type="ObjectMessage"/>
    <format:typeMapping encoding="Java" style="Java">
    <format:typeMap typeName="tns:additionInput" formatType=""/>
    <format:typeMap typeName="tns:additionOutput" formatType=""/>
    </format:typeMapping>
    <operation name="addition">
    <input>
    <jms:input parts="payload"/>
    <jms:property name="payloadProperty" part="payload"/>
    </input>
    <output>
    <jms:output parts="payload"/>
    <jms:property name="payloadProperty" part="payload"/>
    </output>
    </operation>
    </binding>
    <service name="AdditionPortType">
    <port name="AdditionPortTypePort" binding="tns:AdditionPortTypeJMSBinding"/>
    </service>
    </definitions>
    Could someone please help me out? I've been struggling with this problem for two weeks and can't make any headway. It's really driving me nuts. I've looked all over the web, and while everyone agrees that SOAP over JMS is possible, no one sems to have a working solution. One example I was able to get hold of used ant for deployment, but the deploy task failed when I ran it. Please, please help me.

  • Why should I use Publish instead of Routing for SOAP messages over JMS?

    Hi,
    I currently read the book "The Definitive Guide to SOA - Oracle Service Bus" and found the following sentence in the chapter "Wrapping an Asynchronous Web Service with a Proxy Service" on page 131, which confuses me:
    When you send a SOAP message over a JMS queue, you need to use the Publish action, not the Routing action. <<Are there general restrictions, when to use Publish and when to use the Routing action in asynchronous communication? Is this special for SOAP messages over JMS?
    Thanks for your advices,
    Katja

    Here are a few reasons why. Enjoy!!
    A
    What Can Amazon Web Services Be Used For?
    Although Amazon Web Services is a cool technology, it also provides the very useful function of enabling business partners to interact with Web site through standard protocols. This interaction can lead to a deeper, more valuable relationship for parties involved. Here are a few of the ways that partners are benefiting from Web Services:
    Associates: Associates program enables Web sites to link to Amazon.com and earn referral fees for sales that they drive through their links. Many Associates are now using Web Services to build more effective links to our store, thus enhancing their sites and earning more money.
    Sellers and Vendors: Amazon.com has thousands of third-party sellers who offer their products on our Web site. Using Web Services, these sellers can more easily manage large quantities of inventory on our platform, and download the latest product information to make sure that their products are competitively priced.
    Developers: Among the thousands of developers who have signed up to our Web Services program, many are now creating solutions to help other people work with Amazon. These solutions are powered using our Web Services APIs.
    www.amazon.com/gp/aws/landing.html

  • ClassCastException in my WS over JMS using JAX-RPC in WLS 10.3...

    Hi,
    I am developing a WS over JMS using JAX-RPC in WLS 10.3 (I tried both WLS 10.3.0 and 10.3.1). And when WLS is trying to marshal the response, it throws "ClassCastException":
    ava.lang.ClassCastException: org.tmforum.mtop.nrf.xsd.com.v1.EquipmentHolderEnumType cannot be cast to java.lang.String
    at com.bea.staxb.runtime.internal.StringTypeConverter.print(StringTypeConverter.java:45)
    at com.bea.staxb.runtime.internal.SimpleContentBeanMarshaller.print(SimpleContentBeanMarshaller.java:52)
    at com.bea.staxb.runtime.internal.RuntimeBindingProperty.getLexical(RuntimeBindingProperty.java:154)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeCharData(PushMarshalResult.java:639)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:413)
    at com.bea.staxb.runtime.internal.SimpleContentRuntimeBindingType.accept(SimpleContentRuntimeBindingType.java:46)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:403)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:403)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:400)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:403)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:400)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:403)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:400)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:403)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalType(PushMarshalResult.java:153)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visitProp(PushMarshalResult.java:631)
    at com.bea.staxb.runtime.internal.PushMarshalResult.visit(PushMarshalResult.java:403)
    at com.bea.staxb.runtime.internal.ByNameRuntimeBindingType.accept(ByNameRuntimeBindingType.java:89)
    at com.bea.staxb.runtime.internal.PushMarshalResult.writeContents(PushMarshalResult.java:195)
    at com.bea.staxb.runtime.internal.PushMarshalResult.marshalTopType(PushMarshalResult.java:96)
    at com.bea.staxb.runtime.internal.MarshallerImpl.marshalBindingType(MarshallerImpl.java:302)
    at com.bea.staxb.runtime.internal.MarshallerImpl.marshalElement(MarshallerImpl.java:383)
    at weblogic.wsee.bind.runtime.internal.LiteralSerializerContext.marshalElement(LiteralSerializerContext.java:82)
    at weblogic.wsee.bind.runtime.internal.BaseSerializerContext.internalSerializeElement(BaseSerializerContext.java:197)
    at weblogic.wsee.bind.runtime.internal.BaseSerializerContext.serializeElement(BaseSerializerContext.java:128)
    at weblogic.wsee.codec.soap11.SoapEncoder.encodePart(SoapEncoder.java:322)
    at weblogic.wsee.codec.soap11.SoapEncoder.encodeReturn(SoapEncoder.java:228)
    at weblogic.wsee.codec.soap11.SoapEncoder.encodeParts(SoapEncoder.java:215)
    at weblogic.wsee.codec.soap11.SoapEncoder.encode(SoapEncoder.java:134)
    at weblogic.wsee.codec.soap11.SoapCodec.encode(SoapCodec.java:134)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.encode(CodecHandler.java:104)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.handleResponse(CodecHandler.java:51)
    at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:287)
    at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:271)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.callHandleResponse(ServerDispatcher.java:341)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:189)
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
    at weblogic.wsee.server.jms.JmsWebservicesMessageDispatcher.dispatchMessage(JmsWebservicesMessageDispatcher.java:175)
    at weblogic.wsee.server.jms.JmsQueueListener.processMessage(JmsQueueListener.java:397)
    at weblogic.wsee.server.jms.JmsQueueListener.onMessage(JmsQueueListener.java:392)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4585)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4271)
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3747)
    at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
    at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5096)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    The "EquipmentHolderEnumType" is generated JAXB object (obviously it is not a String) from WSDL using WLS wsld generation. And here is how that Enum is defined in XSD:
    <xsd:simpleType name="EquipmentHolderEnumType">
    <xsd:annotation>
    <xsd:documentation>
    <p>Equipment holder type</p>
    </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="MINOR_EXT"/>
    <xsd:enumeration value="rack"/>
    <xsd:enumeration value="shelf"/>
    <xsd:enumeration value="sub_shelf"/>
    <xsd:enumeration value="slot"/>
    <xsd:enumeration value="sub_slot"/>
    <xsd:enumeration value="remote_unit"/>
    <xsd:enumeration value="remote_slots"/>
    </xsd:restriction>
    </xsd:simpleType>
    My question is why WLS is trying to cast the EnumType to String when marshalling it? How can I fix this exception?
    Also, second question: my WS will take some time to get the response ready (1+ minute). I was using WLS console test client to test my WS. And the test client always got time out:
    java.io.IOException: Request timed out
    at weblogic.wsee.connection.transport.jms.JmsTransport.receive(JmsTransport.java:356)
    at weblogic.testclient.WebServiceOperation.invokeJms(WebServiceOperation.java:463)
    at weblogic.testclient.WebServiceOperation.addWeblogicHeadersAndInvoke(WebServiceOperation.java:382)
    at weblogic.testclient.WebServiceOperation.invokeComplex(WebServiceOperation.java:305)
    at weblogic.testclient.WebServiceOperation.invoke(WebServiceOperation.java:626)
    How can I configure the WLS console test client so that I can increase teh timeout setting for the client?
    Thank you very much!
    Jian

    Hi, pls how did you solve your problem exatly? Because I have similar problem without solution.
    I have WSDL contract like:
    <xs:element name="duration">
    <xs:complexType>
    <xs:simpleContent>
    <xs:extension base="durationType">
    <xs:attribute name="days" type="xs:int" use="optional"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    </xs:element>
    <xs:simpleType name="durationType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="PERIODIC"/>
    <xs:enumeration value="PERPETUAL"/>
    <xs:enumeration value="CREDIT_DAYS"/>
    </xs:restriction>
    </xs:simpleType>
    And client site generated by WLS ant task "generate-from-wsdl" with "JAXRPC" option and when I use calling of this client and exeption was appeared:
    FaultString [com.company.DurationType] FaultActor [null] Detail [<detail><java:string>java.lang.ClassCastException: com.company.DurationType</java:string></detail>];
    Note: all other messages are correct.
    thx

  • What are the limitations of using RMI over http with EJB?

    We have a requirement for an intranet application where the majority of the clients
    (Swing clients) will be able to connect directly using either T3 or IIOP. However,
    there are a number of clients that will need to traverse a firewall.
    We could use SOAP, but I dont want to lose the value that RMI gives us (clustering,
    security, statefullness support etc). I am thinking of using RMI over http - which
    Weblogic supports.
    I have been trying to find some documentation on the topic - but havent succeded
    so far. What I would like to understand is: What limitations I would have using
    RMI over http. Do I lose anything (apart from performance) using http?
    Regards,
    Nick

    You will have to enable tunneling on the server side and I have not heard of any
    complaints of using it.
    Shiva.
    Nick Minutello wrote:
    In fact, we are not using applets - and its not an internet application. We are
    using Java Webstart and Swing on our intranet (the problem of the size of the
    weblogic.jar is a pain - but well known)
    The question for me is; Apart from performance, are there any limitations to using
    RMI over http?
    Can we also use JMS over http?
    -Nick
    Shiva Paranandi <[email protected]> wrote:
    "Old wine new bottle".
    The biggest problem with the approach of Applets like
    stuff connecting to weblogic is the size of the classes that need to
    be supplied to the
    users. The applets/swing would need a lot of weblogic classes which you
    need to
    supply as jar file. This file can be in the order of MBs depending on
    the
    weblogic version. we had a similar kind of problem and migrated the applets
    to use
    servlets instead of directly invoking ejbs or jms topics etc. Having
    the applets
    connect
    to servlets you would still benefit from the features of clustering etc.
    and added to
    that
    you would reduce the number of remote calls.
    Shiva.
    Nick Minutello wrote:
    We have a requirement for an intranet application where the majorityof the clients
    (Swing clients) will be able to connect directly using either T3 orIIOP. However,
    there are a number of clients that will need to traverse a firewall.
    We could use SOAP, but I dont want to lose the value that RMI givesus (clustering,
    security, statefullness support etc). I am thinking of using RMI overhttp - which
    Weblogic supports.
    I have been trying to find some documentation on the topic - but haventsucceded
    so far. What I would like to understand is: What limitations I wouldhave using
    RMI over http. Do I lose anything (apart from performance) using http?
    Regards,
    Nick

  • SOAP over JMS

    Hi All,
    I have been researching sending SOAP messages over JMS (instead of HTTP) and know all about the pro's and contra's.
    For those interested, her eare some excellent links on the topic:
    http://blogs.ittoolbox.com/eai/business/archives/web-services-http-vs-jms-19110
    http://dev2dev.bea.com/blog/pdone/archive/2007/03/using_soap_over.html
    http://www.webservices.org/categories/development/java/asynchronous_web_services_and_the_enterprise_service_bus/(go)/Articles
    http://webservices.sys-con.com/read/114115.htm
    I am aware that this hasn't been standardised and vendors implement their own prprietary way. IBM Websphere and BEA, for example, have done this. I don't think JCAPS has done this.
    BUT, is there a way to get it working using JCAPS anyway?
    Thanks for any feedbakck/insights/help...
    Kind regards,
    Stijn.

    Hi Stijn,
    it's pretty definitive this is going to be in JCAPS 5.2.0, and maybe will be introduced back into 5.1.3 in a rollup ESR.
    For intermediate solutions, you can just sent messages over JMS and handle the SOAP message format via importing the SOAP XSD and generating an OTD from that so the JCD handles the SOAP Envelope serialization actions. ( http://dev.w3.org/cvsweb/2002/ws/desc/wsdl12/wsdl12-soap.xsd?rev=1.10&content-type=text/x-cvsweb-markup ) .
    For the sending / receiving clients, please look at https://jmsjca.dev.java.net/ which provides the JMS Resource Adapters for STCMS.
    A commonly used pattern for scalable Web Services, is to forward them to a JMS Queue at receipt. If it's a synchronous call you can use JMS Request Reply.
    Hope this helps
    Paul

  • SOAP over JMS with Oracle tool chain

    Hi,
    is there an easy way to create a webservice with SOAP over JMS for Oracle Application Servers?
    Are there any tutorials, docus or examples?
    Any hint is appreciated....

    I found a first step...:
    In JDeveloper i created a "new..."-> "Webservice->JMS Adapter"
    This created a complete wsdl:
    <definitions
    name="MySOAPoverJMS"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/jms/MySOAPoverJMS/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/jms/MySOAPoverJMS/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/" xmlns:imp1="http://xmlns.oracle.com/pcbpel/adapter/db/DBAPP/ADDEMPLOYEES/"
    xmlns:hdr="http://xmlns.oracle.com/pcbpel/adapter/jms/"
    >
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/jms/" location="jmsAdapterInboundHeader.wsdl"/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/DBAPP/ADDEMPLOYEES/" schemaLocation="ADDEMPLOYEES.xsd" />
    </schema>
    </types>
    <message name="InputParameters_msg">
    <part name="InputParameters" element="imp1:InputParameters"/>
    </message>
    <portType name="Consume_Message_ptt">
    <operation name="Consume_Message">
    <input message="tns:InputParameters_msg"/>
    </operation>
    </portType>
    <binding name="Consume_Message_binding" type="tns:Consume_Message_ptt">
    <pc:inbound_binding />
    <operation name="Consume_Message">
    <jca:operation
    ActivationSpec="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec" DestinationName="java:comp/resource/OEMS/Topics/JMSUSER.JMSDEMO_TOPIC"
    UseMessageListener="false"
    PayloadType="TextMessage"
    OpaqueSchema="false" >
    </jca:operation>
    <input>
    <jca:header message="hdr:InboundHeader_msg" part="inboundHeader"/>
    </input>
    </operation>
    </binding>
    <service name="MySOAPoverJMS">
    <port name="Consume_Message_pt" binding="tns:Consume_Message_binding">
    <!--Your runtime connection is declared in
    J2EE_HOME/application-deployments/default/JMSAdapter/oc4j-ra.xml
    These mcf properties here are from your design time connection and
    save you from having to edit that file and restart the application server
    if eis/Jms/OEMS is missing.
    These mcf properties are safe to remove.-->
    <jca:address location="eis/Jms/OEMS" UIConnectionName="OEMS" ManagedConnectionFactory="oracle.tip.adapter.jms.JmsManagedConnectionFactory" mcf.ConnectionFactoryLocation="java:comp/resource/OEMS/TopicConnectionFactories/TCF"
    mcf.IsTopic="true"
    mcf.IsTransacted="true"
    mcf.FactoryProperties=""
    mcf.Username="jmsuser"
    mcf.Password="BE49B84750434652C21A27623F0F412D"
    UIJmsProvider="OJMS" />
    </port>
    </service>
    <plt:partnerLinkType name="Consume_Message_plt" >
    <plt:role name="Consume_Message_role" >
    <plt:portType name="tns:Consume_Message_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    But this contains no SOAP definition, so that i cannot use this with "new..."->"Webservice->Java Web Service from WSDL" to create the java code...
    Any ideas?

  • SOAP over JMS binding

    Hi Experts,
    Is it possible to expose as a SOAP over JMS binding webservice from XI (from SAP platform)?
    Regards
    Sara

    I have similar situation.
    R/3->XI->java message server
    XI and message server exchange SOAP envelope using JMS. (SOAP over JMS)
    XI posts SOAP message in queue & in inbound case would pickup SOAP message from JMS queue.
    My question: When using a SOAP adapter, it does work of stripping SOAP envelope/ header? Do we need to handle it in xslt when a message is picked up from external message queue(from message server)? In other words how to handle SOAP message in inbound case?
    Thanks,
    sachin
    PS: Points will be awarded for useful answer

  • WebServices or JMS

    Hi !
    Need to know if JMS can be used instead of webservices.
    My requirement is that i have 2 applications which have to contact each other over internet. I also don't need synchronous communication. One application is in java/jsp and other is in ASP/com.
    Earlier i was planning to use webservices (xml/http) for communication among them.
    Can i use JMS instead of Web Services ? Also, i have to use weblogic application server, so is MOM/JMS service provided in weblogic sufficient enough for full fledge use and can be used for communication between java and no-java clients over internet or do i need to use some other MOM service.
    If anyone can provide me info on
    1. If JMS can be an alternative to web service
    2. How exactly JMS works over ineternet
    3. If anyone has worked on weblogic JMS and prove me inputs on it

    1. If JMS can be an alternative to web serviceIf you mean for asynchronous processing, certainly.
    2. How exactly JMS works over ineternetIt won't - you have firewalls in the way (if your admins are smart).
    3. If anyone has worked on weblogic JMS and prove me
    inputs on itWorks great - INSIDE THE FIREWALL.

Maybe you are looking for

  • ICC Profile Question.

    I have PSE 13 on Windows 7. When I start to "save" an image I've edited it wants to save it using an outdated ICC profile. My most recent calibration was 01/12/15, but the "save" dialog is showing one of my profiles from 06/22/14. How do I get it to

  • HT4543 What to do if the fan never comes on...even when the IMAC is very hot?

    I've had my IMAC for 2 months.  I was using the computer for an extended period today whikle playionmg a game.  Game play seemed after a while but I concluded it was due to a lot of info being "worked".  Anyway, the computer was very hot after a few

  • Wrong data export from ID to PS

    Hallo, I have a strange problem pasting placed eps images in ID back to PS. If I mark (correct name, path and image look) placed eps images in ID CS4 and paste them into a new file at PS wrong images show up! They exist in the same document but are o

  • Ft_read byte data problem

    Good morning , I am trying to work on a project where am using an ft2232d as a master where i send a date frame to a slave device and the device is programmed to reply  with a ff ff..I am using ft_read_byte data to read off the response of the slave

  • ESS Leave request: specify processing process for an auto approval presence

    Hi experts, My client wants to use a type of presence in ESS (Mobile working) to be requested by the employee without any worklow approval. I just need them to automatically stay on status approved. I was trying to configure this requirement but syst