Document/literal  WS w/ multipart attachment on OC4J 10.1.3/10.1.2

Hi all,
I am wondering if OC4J 10.1.3 or 10.1.2 can handle document/literal Web Service with multipart attachment using JAX-RPC API.
I have created a prototype which does doc/lit WS with text/plain attachment without any problems on OC4J 10.1.3 DP 4.
But, no luck with multipart/related attachment. Our messaging system is designed that the first part is the SOAP envelope.
The second part is a multipart message, which could be nested.
Page 19-9 of Oracle Application Server Web Services Developer's Guide 10g Release 3 (10.1.3) B14434-01 (Sep. 2005)
does not have the multipart/* support for SWA attachment. It covers image/jpeg, image/gif, image/tif, text/plain, application/plain and text/xml.
Does anyone know if multipart is supported? Can you provide a working example please?
many thanks in advance !
---------WSDL ----------
<?xml version="1.0" encoding="UTF-8"?>
<definitions      xmlns="http://schemas.xmlsoap.org/wsdl/"           
          xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
          xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
          xmlns:tns="http://service.topdown/"
          name="bank"
          targetNamespace="http://service.topdown/">
     <types>
          <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
               elementFormDefault="qualified"
               targetNamespace="http://service.topdown/">
               <xsd:import namespace="http://ws-i.org/profiles/basic/1.1/xsd"
                    schemaLocation="http://mypc.company.com/xml/ws-i-basic-profile-1.1.xsd" /> <!-- TEMPORARY LOCATION TO AVOID PROXY SETUP -->
               <complexType name="createAccount">
                    <sequence>
                         <element name="acctName" nillable="true" type="string"/>
                         <element name="initBalance" type="float"/>
                    </sequence>
               </complexType>
               <complexType name="createAccountResponse">
                    <sequence>
                         <element name="result" nillable="true" type="string"/>
                    </sequence>
               </complexType>
               <complexType name="AccountException">
                    <sequence>
                         <element name="message" nillable="true" type="string"/>
                    </sequence>
               </complexType>
               <complexType name="deposit">
                    <sequence>
                         <element name="acctID" nillable="true" type="string"/>
                         <element name="amount" type="float"/>
                    </sequence>
               </complexType>
               <complexType name="depositResponse">
                    <sequence/>
               </complexType>
               <complexType name="getAccountID">
                    <sequence>
                         <element name="acctName" nillable="true" type="string"/>
                    </sequence>
               </complexType>
               <complexType name="getAccountIDResponse">
                    <sequence>
                         <element name="result" nillable="true" type="string"/>
                    </sequence>
               </complexType>
               <complexType name="getBalance">
                    <sequence>
                         <element name="acctID" nillable="true" type="string"/>
                         <element name="acctName" nillable="true" type="string"/>
                    </sequence>
               </complexType>
               <complexType name="getBalanceResponse">
                    <sequence>
                         <element name="result" type="float"/>
                    </sequence>
               </complexType>
               <complexType name="withdraw">
                    <sequence>
                         <element name="acctID" nillable="true" type="string"/>
                         <element name="amount" type="float"/>
                    </sequence>
               </complexType>
               <complexType name="withdrawResponse">
                    <sequence/>
               </complexType>
     <!-- Added from attachment xsd -->               
               <complexType name="ClaimDetailType">
                    <xsd:sequence>
                         <element name="Name" type="xsd:string"/>
                         <element name="ClaimForm" type="ref:swaRef"/>
                    </xsd:sequence>
               </complexType>
               <element name="claimDetailElement" type="tns:ClaimDetailType"/>
               <element name="claimResponseElement" type="ref:swaRef"/>
     <!-- End of from attachment xsd -->               
               <element name="createAccountElement" type="tns:createAccount"/>
               <element name="createAccountResponseElement" type="tns:createAccountResponse"/>
               <element name="AccountExceptionElement" type="tns:AccountException"/>
               <element name="depositElement" type="tns:deposit"/>
               <element name="depositResponseElement" type="tns:depositResponse"/>
               <element name="getAccountIDElement" type="tns:getAccountID"/>
               <element name="getAccountIDResponseElement" type="tns:getAccountIDResponse"/>
               <element name="getBalanceElement" type="tns:getBalance"/>
               <element name="getBalanceResponseElement" type="tns:getBalanceResponse"/>
               <element name="withdrawElement" type="tns:withdraw"/>
               <element name="withdrawResponseElement" type="tns:withdrawResponse"/>
          </schema>
     </types>
     <message name="BankService_depositResponse">
          <part name="parameters" element="tns:depositResponseElement"/>
     </message>
     <message name="BankService_deposit">
          <part name="parameters" element="tns:depositElement"/>
     </message>
     <message name="AccountException">
          <part name="AccountExceptionElement" element="tns:AccountExceptionElement"/>
     </message>
     <message name="BankService_createAccount">
          <part name="parameters" element="tns:createAccountElement"/>
     </message>
     <message name="BankService_withdrawResponse">
          <part name="parameters" element="tns:withdrawResponseElement"/>
     </message>
     <message name="BankService_createAccountResponse">
          <part name="parameters" element="tns:createAccountResponseElement"/>
     </message>
     <message name="BankService_getBalance">
          <part name="parameters" element="tns:getBalanceElement"/>
     </message>
     <message name="BankService_getAccountIDResponse">
          <part name="parameters" element="tns:getAccountIDResponseElement"/>
     </message>
     <message name="BankService_withdraw">
          <part name="parameters" element="tns:withdrawElement"/>
     </message>
     <message name="BankService_getAccountID">
          <part name="parameters" element="tns:getAccountIDElement"/>
     </message>
     <message name="BankService_getBalanceResponse">
          <part name="parameters" element="tns:getBalanceResponseElement"/>
     </message>
     <!-- Added from attachment xsd -->               
     <message name="ClaimIn">
          <part name="ClaimDetail" element="tns:claimDetailElement"/>
     </message>
     <message name="ClaimOut">
          <part name="ClaimRefNo" element="tns:claimResponseElement"/>
     </message>
     <!-- Added from attachment xsd -->               
     <portType name="BankService">
          <documentation>A service that provides banking operations for client applications.</documentation>
          <operation name="SendClaim">
               <input message="tns:ClaimIn"/>
               <output message="tns:ClaimOut"/>
          </operation>
          <operation name="createAccount">
               <documentation>Creates a banking account.</documentation>
               <input message="tns:BankService_createAccount"/>
               <output message="tns:BankService_createAccountResponse"/>
               <fault name="AccountException" message="tns:AccountException"/>
          </operation>
          <operation name="deposit">
               <documentation>Performs a bank deposit.</documentation>
               <input message="tns:BankService_deposit"/>
               <output message="tns:BankService_depositResponse"/>
               <fault name="AccountException" message="tns:AccountException"/>
          </operation>
          <operation name="getAccountID">
               <documentation>Retrieves an account ID.</documentation>
               <input message="tns:BankService_getAccountID"/>
               <output message="tns:BankService_getAccountIDResponse"/>
               <fault name="AccountException" message="tns:AccountException"/>
          </operation>
          <operation name="getBalance">
               <documentation>Retrieves an account balance.</documentation>
               <input message="tns:BankService_getBalance"/>
               <output message="tns:BankService_getBalanceResponse"/>
               <fault name="AccountException" message="tns:AccountException"/>
          </operation>
          <operation name="withdraw">
               <documentation>Withdraws funds from a bank account.</documentation>
               <input message="tns:BankService_withdraw"/>
               <output message="tns:BankService_withdrawResponse"/>
               <fault name="AccountException" message="tns:AccountException"/>
          </operation>
     </portType>
     <binding name="BankServicePortBinding" type="tns:BankService">
          <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
          <operation name="SendClaim">
               <soap:operation soapAction="http://example.com/soapaction"/>
               <input>
                    <mime:multipartRelated>
                         <mime:part>
                              <soap:body use="literal" parts="ClaimDetail" namespace="http://example.com/mimetypes"/>
                         </mime:part>
                    </mime:multipartRelated>
               </input>
               <output>
                    <mime:multipartRelated>
                         <mime:part>
                              <soap:body use="literal" namespace="http://example.com/mimetypes"/>
                         </mime:part>
                    </mime:multipartRelated>
               </output>
          </operation>
          <operation name="createAccount">
               <soap:operation soapAction="http://service.topdown/:createAccount"/>
               <input>
                    <soap:body use="literal" parts="parameters"/>
               </input>
               <output>
                    <soap:body use="literal" parts="parameters"/>
               </output>
               <fault name="AccountException">
                    <soap:fault name="AccountException" use="literal" encodingStyle=""/>
               </fault>
          </operation>
          <operation name="deposit">
               <soap:operation soapAction="http://service.topdown/:deposit"/>
               <input>
                    <soap:body use="literal" parts="parameters"/>
               </input>
               <output>
                    <soap:body use="literal" parts="parameters"/>
               </output>
               <fault name="AccountException">
                    <soap:fault name="AccountException" use="literal" encodingStyle=""/>
               </fault>
          </operation>
          <operation name="getAccountID">
               <soap:operation soapAction="http://service.topdown/:getAccountID"/>
               <input>
                    <soap:body use="literal" parts="parameters"/>
               </input>
               <output>
                    <soap:body use="literal" parts="parameters"/>
               </output>
               <fault name="AccountException">
                    <soap:fault name="AccountException" use="literal" encodingStyle=""/>
               </fault>
          </operation>
          <operation name="getBalance">
               <soap:operation soapAction="http://service.topdown/:getBalance"/>
               <input>
                    <soap:body use="literal" parts="parameters"/>
               </input>
               <output>
                    <soap:body use="literal" parts="parameters"/>
               </output>
               <fault name="AccountException">
                    <soap:fault name="AccountException" use="literal" encodingStyle=""/>
               </fault>
          </operation>
          <operation name="withdraw">
               <soap:operation soapAction="http://service.topdown/:withdraw"/>
               <input>
                    <soap:body use="literal" parts="parameters"/>
               </input>
               <output>
                    <soap:body use="literal" parts="parameters"/>
               </output>
               <fault name="AccountException">
                    <soap:fault name="AccountException" use="literal" encodingStyle=""/>
               </fault>
          </operation>
     </binding>
     <service name="bank">
          <port name="BankServicePort" binding="tns:BankServicePortBinding">
               <soap:address location="http://localhost:8888/bank/bank"/>
          </port>
     </service>
</definitions>

Thank you, Tim for your reply.
I found the answer myself. :-)
It's not the WSDL, it's the test program.
You are suggesting SWA attachment, which works. But, I am looking for SWAref attachment, which could be referenced by a SOAP element (i.e. cid: )
The client application builds a multipart, which has 1 text file and a jpeg file and sends
the multipart with SOAP envelope. The server returns the multipart back to the client.
Here is my client code:
     private void demoAttachment() throws Exception
          javax.xml.soap.MessageFactory mf = javax.xml.soap.MessageFactory.newInstance();
          javax.xml.soap.SOAPMessage msg = mf.createMessage();
          javax.xml.soap.AttachmentPart ap = msg.createAttachmentPart();
          ap.addMimeHeader("header1", "12/28/2005");
//          ap.setContent("Hello world !", "text/plain"); // text/plain worked earlier
          MimeMultipart mmp = makeAttachment();
          ap.setContent(mmp, mmp.getContentType());
          javax.xml.soap.AttachmentPart ret = m_endpoint.sendClaim("John Smith", ap);
private static MimeMultipart makeAttachment()
MimeMultipart mp = new MimeMultipart();
try {
mp.setSubType("related");
} catch (MessagingException e1) {
e1.printStackTrace();
MimeBodyPart body1 = new MimeBodyPart();
try {
DataHandler dh = new DataHandler(new FileDataSource(TEXT_FILE_NAME));
body1.setDataHandler(dh);
String ct = dh.getContentType();
System.out.println("Content type: " + ct);
body1.setHeader("Content-Type", ct);
body1.setFileName("test.txt");
mp.addBodyPart(body1);
} catch (MessagingException e) {
e.printStackTrace();
MimeBodyPart body2 = new MimeBodyPart();
try {
DataHandler dh = new DataHandler(new FileDataSource(IMG_FILE_NAME));
body2.setDataHandler(dh);
String ct = dh.getContentType();
System.out.println("Content type: " + ct);
body2.setHeader("Content-Type", ct);
body2.setFileName("test.jpg");
mp.addBodyPart(body2);
} catch (MessagingException e) {
e.printStackTrace();
return mp;
-------- SOAP request and response -----------------------------------------
TcpTunnelText: ready to rock and roll on port 5555
TcpTunnelText: tunnelling port 5555 to port 8888 on host foo.bar.com
POST /topDownBank/topDownBank HTTP/1.1
Host: localhost:5555
Connection: Keep-Alive, TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
SOAPAction: "http://example.com/soapaction"
Accept-Encoding: gzip, x-gzip, compress, x-compress
Content-type: multipart/related;type="text/xml";boundary="----=_Part_1_33320514.1135808579711"
Content-length: 15957
------=_Part_1_33320514.1135808579711
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:ns0="http://service.topdown/"
     xmlns:ns1="http://ws-i.org/profiles/basic/1.1/xsd">
     <env:Body>
          <ns0:claimDetailElement>
               <ns0:Name>John Smith</ns0:Name>
               <ns0:ClaimForm>cid:ID1@ClaimForm</ns0:ClaimForm>
          </ns0:claimDetailElement>
     </env:Body>
</env:Envelope>
------=_Part_1_33320514.1135808579711
Content-Type: multipart/related;
     boundary="------=_Part_0_32113234.1135808579336"
header1: 12/28/2005
Content-Id: <ID1@ClaimForm>
------=_Part_0_32113234.1135808579336
Content-Type: text/plain; name=test.txt
Content-Disposition: attachment; filename=test.txt
Volume in drive C has no label.
Volume Serial Number is DCD8-0D94
Directory of C:\temp
12/22/2005 03:57 PM <DIR> .
12/22/2005 03:57 PM <DIR> ..
03/04/2005 02:28 PM <DIR> 0128
05/09/2005 09:10 PM 703 XMSTest1.java
58 File(s) 237,395,939 bytes
31 Dir(s) 49,375,744,000 bytes free
------=_Part_0_32113234.1135808579336
Content-Type: image/jpeg; name=test.jpg
Content-Disposition: attachment; filename=test.jpg
(binary data removed from here ...)
------=_Part_0_32113234.1135808579336--
------=_Part_1_33320514.1135808579711--
HTTP/1.1 200 OK
Date: Wed, 28 Dec 2005 22:22:59 GMT
Server: Oracle Containers for J2EE
Content-Length: 15922
Connection: Keep-Alive
Keep-Alive: timeout=15, max=100
Content-Type: multipart/related;type="text/xml";boundary="----=_Part_8_13238995.1135808579852"
SOAPAction: ""
------=_Part_8_13238995.1135808579852
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8" ?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:ns0="http://service.topdown/"
     xmlns:ns1="http://ws-i.org/profiles/basic/1.1/xsd">
     <env:Body>
     <ns0:claimResponseElement>cid:ID1@claimResponseElement</ns0:claimResponseElement>
     </env:Body>
</env:Envelope>
------=_Part_8_13238995.1135808579852
Content-Type: multipart/related;
     boundary="------=_Part_0_32113234.1135808579336"
header1: 12/28/2005
Content-Id: <ID1@claimResponseElement>
------=_Part_0_32113234.1135808579336
Content-Type: text/plain; name=test.txt
Content-Disposition: attachment; filename=test.txt
Volume in drive C has no label.
Volume Serial Number is DCD8-0D94
Directory of C:\temp
12/22/2005 03:57 PM <DIR> .
12/22/2005 03:57 PM <DIR> ..
03/04/2005 02:28 PM <DIR> 0128
10/17/2005 03:54 PM 11,181,568 04_Tutorial_XMS_Webservices.doc
05/09/2005 09:10 PM 703 XMSTest1.java
58 File(s) 237,395,939 bytes
31 Dir(s) 49,375,744,000 bytes free
------=_Part_0_32113234.1135808579336
Content-Type: image/jpeg; name=test.jpg
Content-Disposition: attachment; filename=test.jpg
(binary data removed from here )
------=_Part_0_32113234.1135808579336--
------=_Part_8_13238995.1135808579852--
Message was edited by:
user457369

Similar Messages

  • Problem with document/literal web services

    Hi,
    I need to publish a document\literal WSDL for a web service on my OC4J 10.1.2.2 because my app has an interface with a .NET system.
    I generated the WSDL with JDEV 10.1.3.3 and tried to deploy it on an OC4J 10.1.2 using JDEV 10.1.2.
    The deployment worked fine but when I'm trying to access the web service with the generated stub I'm getting the following message:
    "These methods do not conform to the restrictions imposed by the web service implementation"
    and then a list of these methods.
    Later I tried to remove the parameters from the methods and regenerated the WSDL and it worked fine, but I need the methods with the parameters.
    What can I do?
    Thanks

    Jason, have you made any progress with CF7 and WS Security?
    It doesn't seem like enough information on this is available. Is it
    even possible? and how?

  • Problem Generating Document/Literal Web Service

    Hi folks..
    I am currently using JDeveloper 10.1.3 (Preview Edition) and I am having trouble getting the Create Java Web Service wizard to work correctly when generating a document/literal web service. After going through the wizard selecting the appropriate settings to generate a document/literal web service from my implementation I get the following error during generation.
    oracle.j2ee.ws.common.tools.api.SeiValidationException
    oracle.j2ee.ws.common.processor.modeler.rmi.RmiModeler.modelPort(RmiModeler.java:587)
    oracle.j2ee.ws.common.processor.modeler.rmi.RmiModeler.buildModel(RmiModeler.java:455)
    oracle.j2ee.ws.common.processor.config.ModelInfo.buildModel(ModelInfo.java:160)
    oracle.j2ee.ws.common.processor.Processor.runModeler(Processor.java:76)
    oracle.j2ee.ws.common.tools.wscompile.CompileTool.run(CompileTool.java:510)
    oracle.j2ee.ws.tools.wsa.JavaToWsdlTool.createWSDL(JavaToWsdlTool.java:234)
    oracle.j2ee.ws.metadata.JavaWebServiceCompiler.processAnnotations(JavaWebServiceCompiler.java:313)
    oracle.j2ee.ws.metadata.JavaWebServiceCompiler.processAnnotations(JavaWebServiceCompiler.java:205)
    oracle.j2ee.ws.metadata.JavaWebServiceCompiler.processAnnotations(JavaWebServiceCompiler.java:131)
    oracle.j2ee.ws.tools.wsa.Util.processAnnotations(Util.java:77)
    oracle.jdeveloper.webservices.model.java.JavaGenerator.generateWSDLFromAnnotations(JavaGenerator.java:1188)
    oracle.jdeveloper.webservices.model.java.JavaGenerator.doGeneration(JavaGenerator.java:362)
    oracle.jdeveloper.webservices.model.Generator.generateImpl(Generator.java:330)
    oracle.jdeveloper.webservices.model.Generator.access$1000071(Generator.java:100)
    oracle.jdeveloper.webservices.model.Generator$1$ReturningRunnable.run(Generator.java:250)
    oracle.jdeveloper.webservices.model.GeneratorUI$GeneratorAction.run(GeneratorUI.java:344)
    oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:526)
    java.lang.Thread.run(Thread.java:534)
    When I googled this error I actually get a hit for a thread here on this board, that looks VERY promising... but when I attempt to access it I get a message "Duscussion Forms Error" and I cant access it. (Very frustrating believe me.. :-)
    Any help that you can give would be appreciated...
    Thanks
    Dave

    Hi Dave,
    One reason to have the SeiValidationException is when you do not follow the java bean convention for getter/setter or some of the public methods you want to expose are not throwing the right execption.
    Using the command line utility genProxy [or the ant task] with the debug flag may give you some informations about the WSDL constructs WSA do not understand. Look at the following how-to to get started:
    http://www.oracle.com/technology/tech/java/oc4j/1013/howtos/how-to-ws-bottomup/doc/how-to-ws-bottomup.html
    If this does not help, can you share your WSDL with us ?
    Thanks,
    Eric

  • Document/Literal SOAP format generation using jdeveloper 10.1.2.0.0

    Hi,
    Can anyone tell me please how to create Document/Literal SOAP format using jdeveloper 10.1.2.0.0 ??
    Thanks in advance,
    Khalil

    The method that you call must take a org.w3c.dom.Element as an argument, and must also return an Element.
    In the web.xml file, the servlet-class for your webservice must be changed to oracle.j2ee.ws.StatelessJavaDocWebService.
    You can then either modify your WSDL by hand, or deploy your webservice to an OC4J container, which will then generate a Doc/Literal WSDL for you, and then use that.
    When deploying, make sure that the JDeveloper-generated WSDL file is not included in the WAR file.

  • Issue with generation of document/literal type WSDL using Axis

    Hi All,
    I am trying to convert some Java code into WSDL using Axis 1.2 framework. I used Document/Literal style for binding.
    One of the methods in my Java code returns an array. This array is described in Axis generated WSDL as follows:
    <complexType name="ArrayOfThings">
    <complexContent>
    <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Things[]"/>
    </restriction>
    </complexContent>
    </complexType>
    But the end user(client for the web service I am hosting) says " .NET won't allow him to consume my webservice (or generate the proper reference classes) for types that derive from encoded types".
    So my question is "Would it be possible to change the webservice so that it doesn’t use that(soapenc) implementation of the array?"
    The end user is expecting something more like this:
    <s:complexType name="ArrayOfThings">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="Things" nillable="true" type="tns:Things" />
    </s:sequence>
    </s:complexType>
    I am new to Web Services. So any help or guidance would be greatly appreciated.
    Thanks,
    Scott.

    Hi Dragana,
    We definitely support the ability to call a web service that exposes two operations (document/literal or not).
    Glancing through your WSDL, it looks good.
    Could you please try to tunnel the second request and see 1) what data is sent to the service and 2) what data is returned by the service?
    Can you please email us a reproduceable case so that we can help troubleshoot in parallel?
    Thank you,
    Edwin
    [email protected]
    please rename .zip to .zap

  • Sharepoint 2013 document library incoming email without attachment not firing event and not getting email

    sharepoint document library incoming email without attachment not firing event and not getting email
    If email contains attachment it works. Is there any setting in document library that will allow emails and eventhandler to fire with out attachment?
    MCTS Sharepoint 2010, MCAD dotnet, MCPDEA, SharePoint Lead

    What is the purpose of email sent to document library if no attachment. What document library will do what that email if it cant find attachment to save and create a spdoc object. If you want to store email/communication body then opt for site mailbox
    app.
    Please 'propose as answer' if it helped you, also 'vote helpful' if you like this reply.

  • Document literal client

    Hi All,
    I am trying to access a document literal client service exposed by tibco business works. I modified the sample/jax-rpc/advanced/DIIHelloClient.java to access the service.
    I am stuck up now in this problem regarding serializers. ( i donno why do we need serializer here )
    the serializer/deserializer for parameter number: 0, named: "{http://markets.midwestiso.org/tibco/xml}LMPData", type: "{http://markets.midwestiso.org/tibco/xml}LMPData", is ambiguous because its class could not be determined
    at com.sun.xml.rpc.client.dii.BasicCall.serializerNotFoundException(BasicCall.java:653)
    at com.sun.xml.rpc.client.dii.BasicCall.createLiteralResponseSerializer(BasicCall.java:592)
    at com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.java:557)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:339)
    at DIIHelloClient.testEchoString(DIIHelloClient.java:118)
    at DIIHelloClient.main(DIIHelloClient.java:44)
    The service returns an XML document in the response and the doesnot take any parameters. I am looking to get the whole XML as Document or string.
    Am i doing anything wrong here ? Any help, thoughts, links or a sample would be greately appreciated.
    regards,
    Arun

    I found the solution myself. My example was not working since i had a previous version of saaj-ri.jar
    I replaced it with saaj-impl.jar from the jwsdp1.3 and it works.... I am able to send XML in the request and receive XML in the response using SAAJ APIs on a service exposed as document/literal.
    I am posting the sample code just in case anybody again searches for this.
             URL endpoint=new URL("http://localhost:9094/tnt/services/Processes/soapPrcLmpData");
             SOAPConnectionFactory factory= SOAPConnectionFactory.newInstance();
             SOAPConnection connection = factory.createConnection();
             MessageFactory mffactory= MessageFactory.newInstance();
             SOAPMessage message= mfactory.createMessage();
             SOAPPart soapPart=msg.getSOAPPart();
             SOAPEnvelope envelope = soapPart.getEnvelope();
             SOAPBody body = envelope.getBody();
             body.addChildElement(envelope.createName("LmpRequest" , "", "http://markets.midwestiso.org/tibco/xml/response"))
             .addChildElement("LastModifiedTime").addTextNode("2003-12-12");
             message.saveChanges();
             SOAPMessage reply = connection.call(message, endpoint);
             TransformerFactory tFact=TransformerFactory.newInstance();
             Transformer transformer = tFact.newTransformer();
             Source src = reply.getSOAPPart().getContent();
             StreamResult result=new StreamResult( System.out );
             transformer.transform(src, result);
             System.out.println();
             connection.close();

  • Document/literal style wsdl with more than one port

    Recently I have changed wsdl style from rpc/encoded to document/literal as BPEL does not handle soapenc:arrayType. The wsdl contains 2 operations and few complex type definitions.
    In BPEL Designer I have created a process that invokes all operations defined in the wsdl, but only one of them will have some data in the response message and the other one will have an empty message. On the other hand, when I use stub generation to invoke Web Service everything is working fine.
    If I provide separate wsdl for each operation (in BPEL process I would have two partnerLinks instead of one) than it works fine.
    Does this mean that BPEL does not handle document/literal style endpoints with more than one port (operation)?
    I have tested this with the orabpel_2.0_J1_win32.exe and orabpel_2.0rc9_win32.exe. Web Services, used for this test, are deployed in Jboss 3.2.3 and axis-1_2beta3.
    WSDL used as partnerLink:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions targetNamespace="http://test" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://test" xmlns:intf="http://test" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <schema elementFormDefault="qualified" targetNamespace="http://test" xmlns="http://www.w3.org/2001/XMLSchema">
    <complexType name="CardId">
    <sequence>
    <element name="cardType" nillable="true" type="xsd:string" />
    <element name="number" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    <complexType name="CardIdArray">
    <sequence>
    <element maxOccurs="unbounded" name="item" nillable="true" type="impl:CardId" />
    </sequence>
    </complexType>
    <element name="getCardsReturn" type="impl:CardIdArray" />
    <complexType name="CardholderCards">
    <sequence>
    <element maxOccurs="unbounded" name="cards" nillable="true" type="impl:CardId" />
    <element name="serialNumber" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    <element name="retrieveChReturn" type="impl:CardholderCards" />
    </schema>
    </wsdl:types>
    <wsdl:message name="retrieveChRequest" />
    <wsdl:message name="getCardsRequest" />
    <wsdl:message name="retrieveChResponse">
    <wsdl:part element="impl:retrieveChReturn" name="retrieveChReturn" />
    </wsdl:message>
    <wsdl:message name="getCardsResponse">
    <wsdl:part element="impl:getCardsReturn" name="getCardsReturn" />
    </wsdl:message>
    <wsdl:portType name="TestService">
    <wsdl:operation name="getCards">
    <wsdl:input message="impl:getCardsRequest" name="getCardsRequest" />
    <wsdl:output message="impl:getCardsResponse" name="getCardsResponse" />
    </wsdl:operation>
    <wsdl:operation name="retrieveCh">
    <wsdl:input message="impl:retrieveChRequest" name="retrieveChRequest" />
    <wsdl:output message="impl:retrieveChResponse" name="retrieveChResponse" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TestServiceSoapBinding" type="impl:TestService">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="getCards">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="getCardsRequest">
    <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output name="getCardsResponse">
    <wsdlsoap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="retrieveCh">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="retrieveChRequest">
    <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output name="retrieveChResponse">
    <wsdlsoap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TestServiceService">
    <wsdl:port binding="impl:TestServiceSoapBinding" name="TestService">
    <wsdlsoap:address location="http://localhost:8080/axis/services/TestService" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    Hi Dragana,
    We definitely support the ability to call a web service that exposes two operations (document/literal or not).
    Glancing through your WSDL, it looks good.
    Could you please try to tunnel the second request and see 1) what data is sent to the service and 2) what data is returned by the service?
    Can you please email us a reproduceable case so that we can help troubleshoot in parallel?
    Thank you,
    Edwin
    [email protected]
    please rename .zip to .zap

  • Document Literal Web Service Stub Error

    I am using jdeveloper 9.0.3 (necessary because we are doing OAF) and have created a Document Literal Web Service Stub. The stub runs perfectly in Jdeveloper, but when I move it to our 9iAS server (1.0.2.2.2), I get the error that it can not find the class \oracle\jdeveloper\webservices\runtime\WrappedDocLiteralStub.
    On my local machine this file is located in jdev-rt.jar, which is in /jdevbin/jdev/lib. Is there a special way to package the web service so that the jar file is included? Or is there a patch I need to apply to the apps server?
    Any help would be much appreciated.

    I am using jdeveloper 9.0.3 (necessary because we are doing OAF) and have created a Document Literal Web Service Stub. The stub runs perfectly in Jdeveloper, but when I move it to our 9iAS server (1.0.2.2.2), I get the error that it can not find the class \oracle\jdeveloper\webservices\runtime\WrappedDocLiteralStub.
    On my local machine this file is located in jdev-rt.jar, which is in /jdevbin/jdev/lib. Is there a special way to package the web service so that the jar file is included? Or is there a patch I need to apply to the apps server?
    Any help would be much appreciated.

  • Document/literal web service

    Currently I deployed an rpc/encoded ejb web service.
    The ejb handles the request and response using Java methods. I can change this web service to document/literal by changing the style=document in Servicegen. Does this mean that I have to handle the
    SOAP/XML message programmatically? In other words, more work on my part. Any input would be much appreciated.
    Micx

    Currently I deployed an rpc/encoded ejb web service.
    The ejb handles the request and response using Java methods. I can change this web service to document/literal by changing the style=document in Servicegen. Does this mean that I have to handle the
    SOAP/XML message programmatically? In other words, more work on my part. Any input would be much appreciated.
    Micx

  • Document/literal web service with WSDL

    Hi
    I is so hard to get an easily written example of how to do a Document/literal web service in java, to generate a WSDL descripbing it and then deploying it on Apache.
    I first belived that I should use JAXM. But I think it is just SOAP and there is no way to generate a WSDL file for the JAXM service, or??
    It seems that u can to document/literal style using JAX-RPC, but this is VERY strange since RPC style is the direct opposite of Document style.
    well, well
    I would be very greatful for information here.
    regards
    /Rassol

    JWSDP 1.2 includes the WS-I sample application in JWSDP_HOME/wsi-sampleapp. Several components of
    this application use document-literal operations. The architecture of the application is described
    here http://ws-i.org/SampleApplications/SupplyChainManagement/2003-04/SCMArchitecture1.0-BdAD.pdf
    The WSDL for the services is availabe from URLs in the document.
    As you say, the trick is generating the WSDL for a new service. You have two options: 1. Modify
    existing WSDL yourself. This might be fairly easy, since the only major changes will be in the
    schema. Then use a tool to generate Java source code from the WSDL. 2. Use a tool to generate WSDL
    from source files.
    I prefer option 1 myself, since that gives me total control over the schema. It allows me to
    serialize certain parts of the SOAP message as body elements, others as attributes, and others as
    header elements. Then I use the Apache Axis tool WSDL2Java with the "-s" option to generate skeleton
    service files. One big advantage to this approach is that WSDL2Java generates JavaBean class for the
    types in the WSDL schema, so I don't need to build the SOAP message with SAAJ. A service client
    generates stubs and calls the service exactly as it would for an rpc/encoded service.
    wscompile also generates service files from WSDL if you give the "-gen:server" option, but I've only
    used Axis for my services.
    Here's a sample WSDL for a document/literal service you can modify as you need. I checked it with
    the WS-I testing tools to be sure it conforms to the WS-I Basic Profile 1.0a (available at www.ws-
    i.org). Notice that the processPo operation is a request-response type operation, even though it has
    a document/literal style. This follows the recommendations in the Basic Profile.
    Cheers,
    Mike
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://www.ltree.com/wsdl/po" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:impl="http://www.ltree.com/wsdl/po" xmlns:intf="http://www.ltree.com/wsdl/po" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://www.ltree.com/types/po" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:tns1="http://www.ltree.com/types/po"
              xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
              targetNamespace="http://www.ltree.com/types/po"
              elementFormDefault="qualified">
         <xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/"
                     location="http://schemas.xmlsoap.org/soap/envelope/"/>
         <xsd:complexType name="LineItem">
             <xsd:sequence>
                 <xsd:element name="itemId" type="xsd:string"/>
                 <xsd:element name="quantity" type="xsd:int"/>
             </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="PurchaseOrder">
             <xsd:sequence>
                 <xsd:element name="customerName" type="xsd:string"/>
                 <xsd:element name="lineItem" type="tns1:LineItem"
                          minOccurs="1" maxOccurs="unbounded" />
             </xsd:sequence>
             <xsd:attribute name="purchaseOrderId" type="xsd:string" use="required"/>
         </xsd:complexType>
         <xsd:element name="purchaseOrder" nillable="true" type="tns1:PurchaseOrder"/>
         <xsd:complexType name="CallbackEndpoint">
             <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
         </xsd:complexType>
         <xsd:element name="callbackEndpoint" nillable="false" type="tns1:CallbackEndpoint"/>
         <xsd:complexType name="PurchaseOrderAck">
             <xsd:sequence>
                 <xsd:element name="poId" type="xsd:string"/>
             </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="purchaseOrderAck" nillable="true" type="tns1:PurchaseOrderAck"/>
         <xsd:complexType name="InvalidCustomerNameException">
          <xsd:sequence>
           <xsd:element name="message" nillable="true" type="xsd:string"/>
           <xsd:element name="customerName" type="xsd:string"/>
          </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="invalidCustomerNameException" nillable="true"
                      type="tns1:InvalidCustomerNameException"/>
      </xsd:schema>
    </wsdl:types>
       <wsdl:message name="processPoRequest">
          <wsdl:part name="callbackEndpoint" element="tns1:callbackEndpoint"/>
          <wsdl:part name="purchaseOrder" element="tns1:purchaseOrder"/>
       </wsdl:message>
       <wsdl:message name="processPoResponse">
          <wsdl:part name="purchaseOrderAck" element="tns1:purchaseOrderAck"/>
       </wsdl:message>
       <wsdl:message name="invalidCustomerNameException">
          <wsdl:part name="fault" element="tns1:invalidCustomerNameException"/>
       </wsdl:message>
       <wsdl:portType name="PurchaseOrderHandler">
          <wsdl:operation name="processPo">
             <wsdl:input message="impl:processPoRequest" name="processPoRequest"/>
             <wsdl:output message="impl:processPoResponse" name="processPoResponse"/>
             <wsdl:fault message="impl:invalidCustomerNameException" name="invalidCustomerNameException"/>
          </wsdl:operation>
       </wsdl:portType>
       <wsdl:binding name="PurchaseOrderHandlerPortSoapBinding" type="impl:PurchaseOrderHandler">
          <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
          <wsdl:operation name="processPo">
             <wsdlsoap:operation soapAction="" style="document"/>
             <wsdl:input name="processPoRequest">
                <wsdlsoap:header message="impl:processPoRequest" part="callbackEndpoint" use="literal"/>
                <wsdlsoap:body parts="purchaseOrder" use="literal"/>
             </wsdl:input>
             <wsdl:output name="processPoResponse">
                <wsdlsoap:body use="literal"/>
             </wsdl:output>
             <wsdl:fault name="invalidCustomerNameException">
                <wsdlsoap:fault name="invalidCustomerNameException" use="literal"/>
             </wsdl:fault>
          </wsdl:operation>
       </wsdl:binding>
       <wsdl:service name="PurchaseOrderHandlerService">
          <wsdl:port binding="impl:PurchaseOrderHandlerPortSoapBinding" name="PurchaseOrderHandlerPort">
             <wsdlsoap:address location="http://localhost:8080/po/services/PurchaseOrderHandlerService"/>
          </wsdl:port>
       </wsdl:service>
    </wsdl:definitions>

  • JAX RPC extension: Problem with document/literal and MyType[]

    Hi,
    I have installed the JAX RPC extension and want to generate a stub from my WSDL file. The WSDL describes a document/literal binding.
    Problem:
    A webservice server method like:
    public wineshop.model.common.SimpleProducer[] getSimpleProducerList() throws RemoteException;
    is translated into a stub method like:
    public UnknownType getSimpleProducerList() throws Exception {..}
    Is an array of own types with the binding style "document/literal" not supported in JAX RPC 1.4 or is it just a bug?
    The WSDL file is generated by JAX RPC 1.4.
    I have installed JWSDP-1.5 and generated a stub with wscompile from the WSDL file. The generated stub has the correct method return type:
    public wineshop.ws.client.SimpleProducer[] getSimpleProducerList()
    throws java.rmi.RemoteException
    It there a workaround like replacing some JDev JARs with JWSDP-1.5 to solve the problem?
    Any hints are welcome.
    Thanks Markus

    repost.....

  • Leverage Inheritance Benefits in 'document/literal' Web Services

    Greetings,
    I have developed a document/literal web service that receives an object I created, say ParentObject.
    I developed it under the assumption that once I create a web service for ParentObject, I'll be able to use the same web service for ChildObject as well, which is a sub-class from ParentObject. Unfortunately, it did not work.
    Please correct me if I'm wrong; is it really not possible to leverage inheritance capabilities web services? And if it's not possible, what workaround(s) do you use in such scenarios when you don't want to create a new web service for each object type despite that they all have the same logic?
    Your thoughts are highly appreciated.
    Thanks in advance,
    Ahmed Motaz

    Jason, have you made any progress with CF7 and WS Security?
    It doesn't seem like enough information on this is available. Is it
    even possible? and how?

  • Problem exporting webservice document/literal in Weblogic Workshop 10.3

    While migrating an applications from Weblogic 8.1 to Weblogic 10.3 and facing a problem with one webservice, the others webservices have been migrated without any problems.
    When try to export and deploy the webservice getting the following error:
    Exception in DocumentoCompulsado
    com.bea.control.ServiceControlException: Unable to retrieve ServiceClass for WSDL at path wsdl/CompulsaWSSOAPControl_CompulsaWSWsdl.wsdl, service CompulsaWS for control wsdl.CompulsaWSSOAPControl from cache[com.bea.control.servicecontrol.util.ServiceClassCacheException: Unable to restore ServiceClass from resource wsdl/CompulsaWSSOAPControlServiceClassMemento.ser, service CompulsaWS for control wsdl.CompulsaWSSOAPControl]
    Caused by: com.bea.control.servicecontrol.util.ServiceClassCacheException: Unable to restore ServiceClass from resource wsdl/CompulsaWSSOAPControlServiceClassMemento.ser, service CompulsaWS for control wsdl.CompulsaWSSOAPControl
    ... 50 more
    Caused by: com.bea.control.servicecontrol.util.memento.ServiceClassMementoException: Could not load the following resource file: wsdl/CompulsaWSSOAPControlServiceClassMemento.ser. There are two possibilities why this would occur. The first is that you are trying to run a 9.0 version of the service control. In this case everything should still work fine and you can ignore this exception. The other case is that the resource file is not in the proper location of the classpath. It should be in the same directory as the service control interface class. You might have to change your build scripts to make this work out for you. The resource file is generated during control assembly time and needs to be moved to the same directory as the service control interface class.
    Trying to deploy the webservice, Weblogic fails telling that there is not a file named wsdl/CompulsaWSSOAPControlServiceClassMemento.ser and it is true, that file is not in the file we are trying to deploy. So the problem seems to be in Workshop which is not including the file required.
    Looking for differences between this webservice and the others, realized that this webservice has declared, in its WSDL file, the document-literal binding and the others have rpc-literal.
    Found a workaround. The webserice is called by using a ServiceControl. If the Service Control is type rpc, the webservice is exported and deployed without any problems, but if we use xmlbean option the webservice could not be deployed, the .ser file is not generated. I think this is reasonable because .ser files are relationed with xmlbeans.
    Is it a known issue? if yes, could you please tell me the bug/CR number?

    I am getting the same error, but another situation; I have generated an EAR file, it works perfectly in one machine but I am getting this error in another.
    Unable to retrieve ServiceClass for WSDL at path com/nononononon/nono/nono/services/SearchServices.wsdl, service SearchServices for control com.nononononon.nono.nono.services.SearchServicesServiceControl from cache[com.bea.control.servicecontrol.util.ServiceClassCacheException: Unable to restore ServiceClass from resource com/nononononon/nono/nono/services/SearchServicesServiceControlServiceClassMemento.ser, service SearchServices for control com.nononononon.nono.nono.services.SearchServicesServiceControl]
    I have searched the web without finding an resolution, exploding my EAR I see that I have the
    *ClassMemento.ser
    in the same folder as my service control. As I said before it works in one machine but not in another.
    Does anyone have any idea what is going on?
    PS: I have stooped the server where I am getting this error and cleaned tmp and stage folder. No success.
    The full stack trace looks like this
    [2012.01.03 13:07:39] - [286821] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [FATAL] - com.bea.control.ServiceControlException: Unable to retrieve ServiceClass for WSDL at path com/nononono/nono/nono/controls/MarketingOffers.wsdl, service MarketingOffers for control com.nononono.nono.nono.controls.MarketingOffersServiceControl from cache[com.bea.control.servicecontrol.util.ServiceClassCacheException: Unable to restore ServiceClass from resource com/nononono/nono/nono/controls/MarketingOffersServiceControlServiceClassMemento.ser, service MarketingOffers for control com.nononono.nono.nono.controls.MarketingOffersServiceControl]
         at com.bea.control.servicecontrol.impl.ServiceControlImpl.getServiceClass(ServiceControlImpl.java:1734)
         at com.bea.control.servicecontrol.impl.ServiceControlImpl.invoke(ServiceControlImpl.java:524)
         at com.nononono.nono.nono.controls.MarketingOffersServiceControlBean.getQualifiers(MarketingOffersServiceControlBean.java:309)
         at com.nononono.nono.nono.services.MarketOffers.getQualifiers(Unknown Source)
         at com.nononono.nono.nono.services.MarketOffers.GetQualifiers(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.wsee.component.pojo.JavaClassComponent.invoke(JavaClassComponent.java:112)
         at weblogic.wsee.ws.dispatch.server.ComponentHandler.handleRequest(ComponentHandler.java:84)
         at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
         at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
         at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
         at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
         at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
         at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
         at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: com.bea.control.servicecontrol.util.ServiceClassCacheException: Unable to restore ServiceClass from resource com/nononono/nono/nono/controls/MarketingOffersServiceControlServiceClassMemento.ser, service MarketingOffers for control com.nononono.nono.nono.controls.MarketingOffersServiceControl
         at com.bea.control.servicecontrol.util.ServiceClassCache.insertEntry(ServiceClassCache.java:140)
         at com.bea.control.servicecontrol.util.ServiceClassCache.getServiceClass(ServiceClassCache.java:75)
         at com.bea.control.servicecontrol.impl.ServiceControlImpl.getServiceClass(ServiceControlImpl.java:1718)
         ... 30 more
    Caused by: com.bea.control.servicecontrol.util.memento.ServiceClassMementoException: Could not load the ServiceClassMemento from the following resource file: com/nononono/nono/nono/controls/MarketingOffersServiceControlServiceClassMemento.ser. This is probably due to a versioning issue and if the developer was astute when they made the change then this should not be the reason. Another possibility is that this resource has become corrupt. The good news is a rebuild of your app should fix it.
         at com.bea.control.servicecontrol.util.memento.ServiceClassMementoUtil.loadServiceClass(ServiceClassMementoUtil.java:77)
         at com.bea.control.servicecontrol.util.ServiceClassCache.insertEntry(ServiceClassCache.java:96)
         ... 32 more
    Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -9120448754896609940, local class serialVersionUID = 4418622981026545151
         at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
         at java.util.HashMap.readObject(HashMap.java:1159)
         at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
         at com.bea.control.servicecontrol.util.memento.ServiceClassMementoUtil.loadServiceClass(ServiceClassMementoUtil.java:69)
         ... 33 more
    [2012.01.03 13:07:39] - [286835] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [DEBUG] - e.save()finished
    [2012.01.03 13:07:39] - [286835] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [FATAL] - >>ESB.MarketOffers.GetQualifiers:GetQualifiers Webservice
    [2012.01.03 13:07:39] - [286835] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [DEBUG] - >> Duration 15
    [2012.01.03 13:07:40] - [288220] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [INFO ] - getGlobalAlertList().start
    [2012.01.03 13:07:40] - [288232] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [INFO ] - getGlobalAlerts().start
    [2012.01.03 13:07:40] - [288234] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [INFO ] - getGlobalAlerts().end
    [2012.01.03 13:07:40] - [288234] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [INFO ] - getGlobalAlertList() event logging error.null
    [2012.01.03 13:07:40] - [288234] [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [INFO ] - getGlobalAlertList().end
    [2012.01.03 13:08:04] - [312812] [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [DEBUG] - >>>MSC message consuming timed out!
    [2012.01.03 13:08:04] - [312812] [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [DEBUG] - Before consume MSC Message!
    Edited by: vkonrad on Jan 3, 2012 10:19 AM

  • I am trying to scan document that I will then attach in an email.  When I attach it it shows up as a picture within the email instead of an attachment an people can't open it.  Any help here?

    I am trying to scan document that I will then attach in an email.  When I attach it it shows up as a picture within the email instead of an attachment an people can't open it.  Any help here?

    What kind of Mac are you using, and what version of the operating system?
    You should be able to select the document that you want to attach and then use the contextual menu (right click in some worlds) to compress the document, producing a .zip file. You can then attach that to the email and it won't appear as a picture within the email.
    If I recall this correctly, the "compress" part in the contextual menu may have a different terminology.

Maybe you are looking for