Trivial problem with SOAP attachments

Hi,
I'm writing a very simple standalone JAXM client which will send a SOAP message with attachments to a listening servlet. I can get the code to work for a SOAP message without attachments with no problems, but when I try to create an AttachmentPart object, there is a problem when running the code (there is an exception when I try to create an AttachmentPart object) even though the code compiles ok.
It must be something really obvious, and I've tried copying examples from the JWSDP tutorial but to no avail! Any ideas welcome!
import javax.xml.soap.*;
import java.util.*;
import java.net.URL;
public class JAXMClient{
public static void main(String[] args){
     String me = "Simon";
     try{
     SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
     SOAPConnection con = scFactory.createConnection();
     MessageFactory factory = MessageFactory.newInstance();
     SOAPMessage message = factory.createMessage();
     // create attachment
     AttachmentPart attachment = message.createAttachmentPart();
     attachment.setContent(me, "text/plain");
     attachment.setContentId("my_name");
     message.addAttachmentPart(attachment);
     URL endpoint = new URL("http://localhost:8080/EGSO/TestServlet");
     System.out.println("Calling service....");
     SOAPMessage response = con.call(message,endpoint);
     System.out.println("Reply received!");
     response.writeTo(System.out);
     con.close();
     catch(Exception e){
     System.out.println("Error somewehere");

I use the below code to add attachments (from JWSDP tutorial)
StringBuffer urlSB = new StringBuffer();
urlSB.append(req.getScheme()).append("://").append(req.getServerName());
urlSB.append( ":" ).append( req.getServerPort() ).append( req.getContextPath() );
String reqBase = urlSB.toString();
AttachmentPart apText = msg.createAttachmentPart(new DataHandler(new URL(reqBase + "/test.html")));
               apText.setContentType("text/html");
msg.addAttachmentPart(apText);
(where msg is the SOAPMessage, and the "test.html" file resides in your servlet container's ROOT dir (eg $TOMCAT_HOME/webapps/ROOT)
Ben

Similar Messages

  • Another problem with SOAP sender

    I have another problem with SOAP scenario in a different environment (PI 7.0) from my earlier post.
    Scenario:
    Soap Sender -> PI -> Soap Receiver
    Following steps from GoogleSearch SOAP scenario in the SAP How-to Guide for SAP NetWeaver '04 entitled: "How To... Use the XI 3.0 SOAP Adapter" version 1.00 - March 2006.
    I have loaded in the api.google.com/GoogleSearch.wsdl file as an External definition and created the SOAP receiver as described in the How-to guide.  It takes a doGoogleSearch as input and sends back a doGoogleSearchResponse (Sync Call). 
    Note that the GoogleSearch.wsdl contains a complex type ResultElementArray that refers to ResultElement\[\], and a DirectoryCategoryArray that refers to DirectoryCategory\[\].  The ResultElement and DirectoryCategory types are defined in the GoogleSearch.wsdl file.
    Problem One:
    The generated WSDL for the SOAP sender contains the ResultElementArray and DirectoryCategoryArray types but it DOES NOT contain the required ResultElement and DirectoryCategory types.  XML Spy complains that this WSDL is not valid because the type ResultElement\[\] is not defined.
    Problem Two:
    I generate a SOAP message in XML Spy, provide values for the doGoogleSearch fields, and send.  In SXMB_MONI, the SOAP sender payload contains only the <key> value from the doGoogleSearch message body, i.e. <part name="key" type="xsd:string" />
    The other doGoogleSearch fields seem to be missing, i.e.
      <part name="q" type="xsd:string" />
      <part name="start" type="xsd:int" />
      <part name="maxResults" type="xsd:int" />
      <part name="filter" type="xsd:boolean" />
      <part name="restrict" type="xsd:string" />
      <part name="safeSearch" type="xsd:boolean" />
      <part name="lr" type="xsd:string" />
      <part name="ie" type="xsd:string" />
      <part name="oe" type="xsd:string" />
    Does anyone know why:
    (1) PI/XI seems to leave out the ResultElement and DirectoryCategory types from the SOAP sender service WSDL file?
    (2) The doGoogleSearch message seen in SXMB_MONI contains only the first <key> field, and not the other fields?
    Thanks for any help with this.

    I have another problem with SOAP scenario in a different environment (PI 7.0) from my earlier post.
    Scenario:
    Soap Sender -> PI -> Soap Receiver
    Following steps from GoogleSearch SOAP scenario in the SAP How-to Guide for SAP NetWeaver '04 entitled: "How To... Use the XI 3.0 SOAP Adapter" version 1.00 - March 2006.
    I have loaded in the api.google.com/GoogleSearch.wsdl file as an External definition and created the SOAP receiver as described in the How-to guide.  It takes a doGoogleSearch as input and sends back a doGoogleSearchResponse (Sync Call). 
    Note that the GoogleSearch.wsdl contains a complex type ResultElementArray that refers to ResultElement\[\], and a DirectoryCategoryArray that refers to DirectoryCategory\[\].  The ResultElement and DirectoryCategory types are defined in the GoogleSearch.wsdl file.
    Problem One:
    The generated WSDL for the SOAP sender contains the ResultElementArray and DirectoryCategoryArray types but it DOES NOT contain the required ResultElement and DirectoryCategory types.  XML Spy complains that this WSDL is not valid because the type ResultElement\[\] is not defined.
    Problem Two:
    I generate a SOAP message in XML Spy, provide values for the doGoogleSearch fields, and send.  In SXMB_MONI, the SOAP sender payload contains only the <key> value from the doGoogleSearch message body, i.e. <part name="key" type="xsd:string" />
    The other doGoogleSearch fields seem to be missing, i.e.
      <part name="q" type="xsd:string" />
      <part name="start" type="xsd:int" />
      <part name="maxResults" type="xsd:int" />
      <part name="filter" type="xsd:boolean" />
      <part name="restrict" type="xsd:string" />
      <part name="safeSearch" type="xsd:boolean" />
      <part name="lr" type="xsd:string" />
      <part name="ie" type="xsd:string" />
      <part name="oe" type="xsd:string" />
    Does anyone know why:
    (1) PI/XI seems to leave out the ResultElement and DirectoryCategory types from the SOAP sender service WSDL file?
    (2) The doGoogleSearch message seen in SXMB_MONI contains only the first <key> field, and not the other fields?
    Thanks for any help with this.

  • How to deal with SOAP attachments?

    Is there any information available on how to work with SOAP attachments? I am looking
    for a feature similar to what is available in other products where you can take a
    byte[] and map to image/jpg, application/octet-stream, etc... and have the tool create
    the appropriate message formats. How would I do this using WL Workshop? I could
    not find anything in the docs... is this supported?
    Thanks,
    Bob

    Easiest thing is to encode the contents of the binary object in the XML
    message as you suggest.
    I'd like to hear more about what you are trying to do as well -- we're
    planning on adding support for attachments in the next release, and I'd like
    to make sure we do it in a way that meets your needs.
    -C
    "Bob Hayden" <[email protected]> wrote in message
    news:[email protected]...
    >
    I am evaluating the capability of returning and consuming image/fileattachments through
    a web service. This is one of our high priority integration requirementsand must
    be available somehow through the framework we choose. Other productshave ways
    to do this through an IDE... if WorkShop is not going to directly supportthis then
    does anyone have any suggestions or examples on how this can be done in away that
    is still intuitive for a WorkShop user (in other words without rolling upyour sleeves
    and digging into JAX-RPC)? I suppose one could base64 it and add it tothe WorkShop-generated
    message as a String using the return XML map, but I would prefer toinvestigate a
    more standards-based approach.
    Is it just me or does the lack of support for SOAP attachments seem to bea serious
    missing piece from WL Workshop?
    -Bob
    "Raj Alagumalai" <[email protected]> wrote:
    Bob,
    WebLogic Workshop does not currently support SOAP attachments. However,
    please note
    that if you are developing your Web services using the APIs and services
    provided
    by J2EE and WebLogic Server directly, WebLogic Server does support SOAP
    attachments.
    Please refer to the following document for more Workshop FAQ's
    http://dev2dev.bea.com/resourcelibrary/faqdetail.jsp?productType=weblogic+w
    orkshop&highlight=faq
    >>
    Thanks
    Raj Alagumalai
    WebLogic Workshop Support
    "Bob Hayden" <[email protected]> wrote:
    Is there any information available on how to work with SOAP attachments?
    I am looking
    for a feature similar to what is available in other products where youcan
    take a
    byte[] and map to image/jpg, application/octet-stream, etc... and havethe
    tool create
    the appropriate message formats. How would I do this using WL Workshop?
    I could
    not find anything in the docs... is this supported?
    Thanks,
    Bob

  • Problem with PDF attachments on Leopard's mail.

    I just found a bug or something in Leoprd's mail . When I try to send a mail with PDF attachments, mail just stuck, nothing happen. The fan start to spin and mail grab all of the processors power nearly 100 %. What's weird, there aren't problem with sending other attachment like JPG for example. I tested it on all of my accounts and on all of them, situation is exactly the same.

    The same problem here! Mail.app is behaving weirdly, but eventually it stopped sending e-mail with some filetypes attachments (.doc, .xls, .pdf not working, .jpg working), app just freezes - impossible to quit! HEEEELP!!!

  • XSLT Problem with soap namespace

    Hi there,
    I have a problem transforming an XML doc with soap elements, using XSLT (Xalan).
    Here's the input:
    <?xml version = "1.0" encoding = "ISO-8859-1"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.ean.nl">
      <testthis>123456</testthis>
    </soap:Envelope>and here's the XSL:
    <?xml version="1.0"?>
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="soap:Envelope">
    <Orders>
         <H01>
              <xsl:value-of select="testthis"/>
         </H01>
    </Orders>
    </xsl:template>
    </xsl:transform>I expect to get something like:
    <?xml version="1.0" encoding="UTF-8"?>
    <Orders>
    <H01>123456<H01>
    <Orders>But instead I get:
    <?xml version="1.0" encoding="UTF-8"?>
    <Orders>
    <H01/>
    </Orders>I've tried a lot of things and I'm probably overseeing something stupid, but I'm stuck.
    It seems as if anything without soap: namespace cannot be processed by my XSL (when I add it in the input XML and XSL it works).
    Any help would be greatly appreciated.
    Greetings,
    Erik

    Yes, I found it!
    The following XSL for the same XML doc works!
    <?xml version="1.0"?>
    <xsl:transform xmlns:ean="http://www.ean.nl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="soap:Envelope">
    <Orders>
         <H01>
              <xsl:value-of select="ean:testthis"/>
         </H01>
    </Orders>
    </xsl:template>
    </xsl:transform>Thanks, you pointed me in the right direction :-)
    Erik

  • Newline problem with soap

    I'm having these weird problems with newlines. I'm sending \n in a message because I have a multi lined message i want parsed. Axis is receiving the message and throwing exceptions. I printed out the line it's parsing and it's giving this error that it can't parse:
    '2.5
    PID'
    The parser is not supposed to parse past the \n but it seems to be trying to. I've tested this without webservices and it works fine, adding webservices into the equation gives me these errors.

    Additional info: The problem is the same in the entire environment here (PI DEV, QAS and PRD) and on another PI machine.
    So I doubt very much if it's cache related.
    Edit: This is the 'application error':
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  XML Validation Inbound Channel Response
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="UNKNOWN">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>application fault</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="http://xml.apache.org/axis/">hostname</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Edited by: Frederik-Jan Roose on Dec 7, 2009 11:11 AM

  • Problem with SOAP Servlet

    Hi,
    I have a SOAP servlet, but It is the fist SOAPServlet as I use.
    I think that the vsd that developper of SOAP servlet provide is ok.
    But, I do not understand which is the XML that I could provide to it.
    It is posible that I have a problem with XML, SCHEMA and SOAP.
    Could you help me , I attach the VSD, but I need a tool or a sample file in order to call my SOAP servlet.
    <xsd:schema xmlns:xsd="http://schemas.xmlsoap.org/soap/encoding">
        <xsd:complexType name="STD_TRN1_I_PARM_V_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_TX_DI">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="ID_INTERNO_TERM_TN">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00008"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="ID_EMPL_AUT">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00008"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="NUM_SEC">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00007"/>
                    <fractionDigits value="00"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_TX">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00008"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_EVT_Y_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_CENT_UO">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="NUM_SEC_AC">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00010"/>
                    <fractionDigits value="00"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_NRBE_EN">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="STD_TRN1_O_PARM_V_TYPE">
          <xsd:sequence>
            <xsd:element name="HORA_OPRCN" type="xsd:time"/>
            <xsd:element name="FECHA_OPRCN" type="xsd:date"/>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_DISPO_V_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_DEC_15Y2">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_CONTABLE_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_RETEN_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_AUT_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_INCID_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_BLOQUEOS_V_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_CHAR_01">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00001"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_CONECT_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="COD_IDIOMA_V_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_IDIOMA">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00002"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_ANOTACIONES_V_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_CHAR_01">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00001"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_EVT_Z_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_NUMRCO_MONEDA">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00003"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="PSV_DISPO_V" type="PSV_DISPO_V_TYPE"/>
            <xsd:element name="PSV_SDO_CONTABLE_V" type="PSV_SDO_CONTABLE_V_TYPE"/>
            <xsd:element name="PSV_SDO_RETEN_V" type="PSV_SDO_RETEN_V_TYPE"/>
            <xsd:element name="PSV_SDO_AUT_V" type="PSV_SDO_AUT_V_TYPE"/>
            <xsd:element name="PSV_SDO_INCID_V" type="PSV_SDO_INCID_V_TYPE"/>
            <xsd:element name="PSV_BLOQUEOS_V" type="PSV_BLOQUEOS_V_TYPE"/>
            <xsd:element name="PSV_SDO_CONECT_V" type="PSV_SDO_CONECT_V_TYPE"/>
            <xsd:element name="COD_CSB_OF">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="NOMB_50">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00050"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_INTERNO_UO">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_IDIOMA_V" type="COD_IDIOMA_V_TYPE"/>
            <xsd:element name="PSV_ANOTACIONES_V" type="PSV_ANOTACIONES_V_TYPE"/>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="STD_TRN1_MSJ_PARM_V_TYPE">
          <xsd:sequence>
            <xsd:element name="TEXT_ARG1">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00018"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="TEXT_CODE" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
    <xsd:complexType name="TR_CONS_SALDOS_VISTA_TRN1">
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_TRN1_O_TYPE">
          <xsd:sequence>
            <xsd:element name="RTRN_CD" type="xsd:int"/>
            <xsd:element name="STD_TRN1_O_PARM_V" type="STD_TRN1_O_PARM_V_TYPE"/>
            <xsd:element name="TR_CONS_SALDOS_VISTA_EVT_Z" type="TR_CONS_SALDOS_VISTA_EVT_Z_TYPE"/>
            <xsd:complexType name="STD_TRN1_MSJ_PARM_V_OCCURS">
                <xsd:element name="STD_TRN1_MSJ_PARM_V" type="STD_TRN1_MSJ_PARM_V_TYPE" maxOccurs="000005"/>
            </xsd:complexType>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_TRN1_I_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_TRN1_I_PARM_V" type="STD_TRN1_I_PARM_V_TYPE"/>
            <xsd:element name="TR_CONS_SALDOS_VISTA_EVT_Y" type="TR_CONS_SALDOS_VISTA_EVT_Y_TYPE"/>
          </xsd:sequence>
        </xsd:complexType>
    </xsd:complexType>
    </xsd:schema>Thanks you

    Hi,
    I have a SOAP servlet, but It is the fist SOAPServlet as I use.
    I think that the vsd that developper of SOAP servlet provide is ok.
    But, I do not understand which is the XML that I could provide to it.
    It is posible that I have a problem with XML, SCHEMA and SOAP.
    Could you help me , I attach the VSD, but I need a tool or a sample file in order to call my SOAP servlet.
    <xsd:schema xmlns:xsd="http://schemas.xmlsoap.org/soap/encoding">
        <xsd:complexType name="STD_TRN1_I_PARM_V_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_TX_DI">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="ID_INTERNO_TERM_TN">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00008"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="ID_EMPL_AUT">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00008"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="NUM_SEC">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00007"/>
                    <fractionDigits value="00"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_TX">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00008"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_EVT_Y_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_CENT_UO">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="NUM_SEC_AC">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00010"/>
                    <fractionDigits value="00"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_NRBE_EN">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="STD_TRN1_O_PARM_V_TYPE">
          <xsd:sequence>
            <xsd:element name="HORA_OPRCN" type="xsd:time"/>
            <xsd:element name="FECHA_OPRCN" type="xsd:date"/>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_DISPO_V_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_DEC_15Y2">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_CONTABLE_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_RETEN_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_AUT_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_INCID_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_BLOQUEOS_V_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_CHAR_01">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00001"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_SDO_CONECT_V_TYPE">
          <xsd:sequence>
            <xsd:element name="IMP_SDO">
                <xsd:simpleType base="xsd:decimal">
                    <totalDigits value="00015"/>
                    <fractionDigits value="02"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="COD_IDIOMA_V_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_IDIOMA">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00002"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="PSV_ANOTACIONES_V_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_CHAR_01">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00001"/>
                </xsd:simpleType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_EVT_Z_TYPE">
          <xsd:sequence>
            <xsd:element name="COD_NUMRCO_MONEDA">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00003"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="PSV_DISPO_V" type="PSV_DISPO_V_TYPE"/>
            <xsd:element name="PSV_SDO_CONTABLE_V" type="PSV_SDO_CONTABLE_V_TYPE"/>
            <xsd:element name="PSV_SDO_RETEN_V" type="PSV_SDO_RETEN_V_TYPE"/>
            <xsd:element name="PSV_SDO_AUT_V" type="PSV_SDO_AUT_V_TYPE"/>
            <xsd:element name="PSV_SDO_INCID_V" type="PSV_SDO_INCID_V_TYPE"/>
            <xsd:element name="PSV_BLOQUEOS_V" type="PSV_BLOQUEOS_V_TYPE"/>
            <xsd:element name="PSV_SDO_CONECT_V" type="PSV_SDO_CONECT_V_TYPE"/>
            <xsd:element name="COD_CSB_OF">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="NOMB_50">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00050"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_INTERNO_UO">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00004"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="COD_IDIOMA_V" type="COD_IDIOMA_V_TYPE"/>
            <xsd:element name="PSV_ANOTACIONES_V" type="PSV_ANOTACIONES_V_TYPE"/>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="STD_TRN1_MSJ_PARM_V_TYPE">
          <xsd:sequence>
            <xsd:element name="TEXT_ARG1">
                <xsd:simpleType base="xsd:string">
                    <maxLength value="00018"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="TEXT_CODE" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
    <xsd:complexType name="TR_CONS_SALDOS_VISTA_TRN1">
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_TRN1_O_TYPE">
          <xsd:sequence>
            <xsd:element name="RTRN_CD" type="xsd:int"/>
            <xsd:element name="STD_TRN1_O_PARM_V" type="STD_TRN1_O_PARM_V_TYPE"/>
            <xsd:element name="TR_CONS_SALDOS_VISTA_EVT_Z" type="TR_CONS_SALDOS_VISTA_EVT_Z_TYPE"/>
            <xsd:complexType name="STD_TRN1_MSJ_PARM_V_OCCURS">
                <xsd:element name="STD_TRN1_MSJ_PARM_V" type="STD_TRN1_MSJ_PARM_V_TYPE" maxOccurs="000005"/>
            </xsd:complexType>
          </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="TR_CONS_SALDOS_VISTA_TRN1_I_TYPE">
          <xsd:sequence>
            <xsd:element name="STD_TRN1_I_PARM_V" type="STD_TRN1_I_PARM_V_TYPE"/>
            <xsd:element name="TR_CONS_SALDOS_VISTA_EVT_Y" type="TR_CONS_SALDOS_VISTA_EVT_Y_TYPE"/>
          </xsd:sequence>
        </xsd:complexType>
    </xsd:complexType>
    </xsd:schema>Thanks you

  • WLS 7.0 sp2 - Servlet Problems with SOAP messages

              I'm using Weblogic 7.0 SP2 and trying to create a Servlet to receive SOAP wrapped
              XML messages. I'm getting the following error. Is this a problem with WLS7.0sp2's
              support of JAXM? The System.out.println's indicate I have successfully received
              the incoming SOAP request and then successfully formatted the SOAP response, but
              upon returning saving the response it appears to blow up. Does anyone have any
              suggestions?
              I need to do the following in a servlet:
              - receive an incoming SOAP request with an embedded XML message
              - perform some processing
              - return a SOAP response with an embedded XML message
              Should I be using JAXM? Or can I do this same task easily with JAX-RPC?
              <Feb 24, 2004 4:10:42 PM AST> <Error> <HTTP> <101017> <[ServletContext(id=260434
              7,name=isd.war,context-path=)] Root cause of ServletException
              java.lang.Error: NYI
              at weblogic.webservice.core.soap.SOAPMessageImpl.saveRequired(SOAPMessag
              eImpl.java:360)
              at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
              (ServletStubImpl.java:1058)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:401)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:306)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
              n.run(WebAppServletContext.java:5445)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:780)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              rvletContext.java:3105)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              pl.java:2588)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
              >
              I've stripped the code down so that all it does is verifies the incoming SOAP/XML
              request and creates a hard-coded response... be gentle... I'm a novice at this
              import javax.xml.soap.*;
              import javax.servlet.*;
              import javax.servlet.http.*;
              // import javax.xml.transform.*;
              import java.util.*;
              import java.io.*;
              public class RegisterServlet extends HttpServlet
              static MessageFactory fac = null;
              static
              try
              fac = MessageFactory.newInstance();
              catch (Exception ex)
              ex.printStackTrace();
              public void init(ServletConfig servletConfig) throws ServletException
              super.init(servletConfig);
              public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
              IOException
              try
              System.out.println("** Note: doPost() Entering req = " + req);
              // Get all the headers from the HTTP request
              MimeHeaders headers = getHeaders(req);
              // Get the body of the HTTP request
              InputStream is = req.getInputStream();
              // Now internalize the contents of a HTTP request
              // and create a SOAPMessage
              SOAPMessage msg = fac.createMessage(headers, is);
              System.out.println("** Note: doPost() Step A");
              SOAPMessage reply = null;
              reply = onMessage(msg);
              System.out.println("** Note: doPost() Step B reply = " + reply);
              if (reply != null)
              * Need to call saveChanges because we're
              * going to use the MimeHeaders to set HTTP
              * response information. These MimeHeaders
              * are generated as part of the save.
              if (reply.saveRequired())
              System.out.println("** Note: doPost() Step C reply.saveRequired()");
              reply.saveChanges();
              resp.setStatus(HttpServletResponse.SC_OK);
              putHeaders(reply.getMimeHeaders(), resp);
              // Write out the message on the response stream
              OutputStream os = resp.getOutputStream();
              System.out.println("** Note: doPost() Step D os = " + os);
              reply.writeTo(os);
              os.flush();
              else
              resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
              catch (Exception ex)
              throw new ServletException("** Error: SAAJ POST failed: " + ex.getMessage());
              static MimeHeaders getHeaders(HttpServletRequest req)
              Enumeration enum = req.getHeaderNames();
              MimeHeaders headers = new MimeHeaders();
              while (enum.hasMoreElements())
              String headerName = (String)enum.nextElement();
              String headerValue = req.getHeader(headerName);
              StringTokenizer values =
              new StringTokenizer(headerValue, ",");
              while (values.hasMoreTokens())
              headers.addHeader(headerName,
              values.nextToken().trim());
              return headers;
              static void putHeaders(MimeHeaders headers, HttpServletResponse res)
              Iterator it = headers.getAllHeaders();
              while (it.hasNext())
              MimeHeader header = (MimeHeader)it.next();
              String[] values = headers.getHeader(header.getName());
              if (values.length == 1)
              res.setHeader(header.getName(),
              header.getValue());
              else
              StringBuffer concat = new StringBuffer();
              int i = 0;
              while (i < values.length)
              if (i != 0)
              concat.append(',');
              concat.append(values[i++]);
              res.setHeader(header.getName(), concat.toString());
              // This is the application code for handling the message.
              public SOAPMessage onMessage(SOAPMessage message)
              SOAPMessage replymsg = null;
              try
              System.out.println("** Note: OnMessage() Entering msg = " + message);
              //Extract the ComputerPart element from request message and add to reply SOAP
              message.
              SOAPEnvelope reqse = message.getSOAPPart().getEnvelope();
              SOAPBody reqsb = reqse.getBody();
              //System.out.println("** Note: OnMessage() Step B");
              System.out.println("** Note: OnMessage () Step A Soap Request Message Body = "
              + reqsb);
              //Create a reply mesage from the msgFactory of JAXMServlet
              System.out.println("** Note: OnMessage () Step B");
              replymsg = fac.createMessage();
              SOAPPart sp = replymsg.getSOAPPart();
              SOAPEnvelope se = sp.getEnvelope();
              SOAPBody sb = se.getBody();
              System.out.println("** Note: OnMessage () Step C Soap Reply Before Message Body
              = " + sb);
              se.getBody().addBodyElement(se.createName("RegisterResponse")).addChildElement(se.createName("ErrorCode")).addTextNode("000");
              System.out.println("** Note: OnMessage () Step D Soap Reply After Message Body
              = " + sb);
              replymsg.saveChanges();
              System.out.println("** Note: OnMessage() Exiting replymsg = " + (replymsg));
              catch (Exception ex)
              ex.printStackTrace();
              return replymsg;
              

    Michael,
    I got the same error on WLS8.1/Win2K professional and apache FOP (old version).
    After digging into the WLS code and FOP(old version). i found the conflict happens
    on
    the "org.xml.sax.parser" system property. In WLS code, they hard coded like the
    following when startup weblogic server:
    System.setProperty("org.xml.sax.parser", "weblogic.xml.jaxp.RegistryParser");
    But the FOP code try to use the "org.xml.sax.parser" system property to find the
    sax parser then conlict happens.
    Here is the response from BEA support :
    "I consulted with our developers regarding the question of whether we can change
    the hard-coded value for the java system property: org.xml.sax.parser by using
    a configuration parameter and I found that unfortunately there is no specific
    setting to change the value. As you had mentioned in your note the org.xml.sax.parser
    system property can be changed programmatically in your application code."
    I solve my problem by using newer apache FOP (it never use the system property:org.xml.sax.parser
    any more) and XML Registy for WLS8.1.
    Good luck.
    David Liu
    Point2 Technologies Inc.
    "p_michael" <[email protected]> wrote:
    >
    Help.
    When we migrated from WLS 6.1 to WLS 7.0 SP2 when encountered a problem
    with XML
    parsing that did not previously exist.
    We get the error "weblogic.xml.jaxp.RegistryParser is not a SAX driver".
    What does this mean? And, what should we do about it.
    p_michael

  • Problems with opening attachments sent from Microsoft Outlook

    I have been using MacBook Pro and I have had problems with opening files from Microsoft Outlook.
    The attachments appear as .dat files (text, images etc..) and I am not able to open them.
    Does someone have any experience in solving this type of compatability problems on Mac OS ?

    Get this app or tell the sender to send the attachments using plain text for their emial:
    http://www.joshjacob.com/mac-development/tnef.php

  • Problem with mail attachments

    I have an xlsx file I have opened on my iPad and iPhone before, but it won't open on either now. If I go through Safari mail it works fine, how can I open it from my mail again? When I press on the downward arrow nothing happens. Thanks in advance

    You have mentioned both xlsx and PDF - confusing!
    Anyhow, can you go into your emails via Safari, forward the email in question to yourself again and before trying to open it, delete the existing one on your iPad which you have problems with. Then try the newly forwarded one.

  • Problems with opening attachments

    Received a 14 page attachment to an email. Playbook  Adobe  reader only showed first page although it indicated there were 14 pages. ( No problem with  reading document on my computer.)
    Logging on to my Bank via internet I have been unable to open messages. This was not an issue last week. Now I get a message " file exists Rename this file or press save to replace existing file" Then I get a blank screen. All I am trying to do is open and read the message in my browser..

    Partially solved the Adobe reader issue. If I simultaneously swipe down from the top and up from the bottom I get to a bar which advances the pages. I have to do this for each page as the bar keeps disappearing. Must be an easier method. 

  • Problem with sending attachments over 1mb

    anyone faced that
    There may be a problem with the mail server or network. Check the settings for account “Gmail” or try again.
    The server error encountered was: The connection to the server “pop.gmail.com” on port 995 timed out.
    Checked already many options i.e. 465, ssl, no ssl etc.. seems nothing works
    No problem on PC with the same account

    lizak wrote:
    anyone faced that
    There may be a problem with the mail server or network. Check the settings for account “Gmail” or try again.
    The server error encountered was: The connection to the server “pop.gmail.com” on port 995 timed out.
    Checked already many options i.e. 465, ssl, no ssl etc.. seems nothing works
    No problem on PC with the same account
    welcome to discussions, lizak !
    have you tried zipping the file(s) ?

  • Problems with Javamail Attachments

    Hi,
    i've got a major problem with my application and i can't find the answer. Whenever i'm trying to send an attachment i have this error :
    javax.mail.internet.ParseException
    at javax.mail.internet.ParameterList.<init>(ParameterList.java:77)
    at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:69)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1104)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:824)
    at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:215)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1056)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1914)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1895)
    at javax.mail.Transport.send(Transport.java:79)
    at Send$5.run(Send.java:209)
    at java.lang.Thread.run(Thread.java:536)
    Interactive Session Ended
    My source code is :
    public class DemoSend implements ActionListener{
    public void actionPerformed(ActionEvent evt) {
    try {
    final Properties props = System.getProperties();
    props.put("mail.host", hostField.getText());
    final Session mailConnection = Session.getDefaultInstance(props, null);
    final MimeMessage msg = new MimeMessage(mailConnection);
    final Address to = new InternetAddress(toField.getText());
    final Address from = new InternetAddress(fromField.getText());
    msg.setContent(message.getText(), "text/plain");
    msg.setFrom(from);
    msg.setRecipient(Message.RecipientType.TO, to);
    msg.setSubject(subjectField.getText());
    msg.setSentDate(new java.util.Date());
    final MimeBodyPart mbp1 = new MimeBodyPart();
    mbp1.setText(message.getText());
    final MimeBodyPart mbp2 = new MimeBodyPart();
    mbp2.setDisposition(mbp2.ATTACHMENT);
    final FileDataSource fds=new FileDataSource(FileName);
    mbp2.setDataHandler(new DataHandler(fds));
    mbp2.setFileName(fds.getName());
    final Multipart mp = new MimeMultipart();
    mp.addBodyPart(mbp1);
    mp.addBodyPart(mbp2);
    msg.setSentDate(new Date());
    msg.setContent(mp);
    Runnable r = new Runnable() {
    public void run() {
    try {
    Transport.send(msg);
    JOptionPane.showMessageDialog(null," Your message has been sent successfuly","G T P Email Client",JOptionPane.INFORMATION_MESSAGE);
    catch (Exception e) {
    e.printStackTrace();
    JOptionPane.showMessageDialog(null," -- E r r o r -- Your message has not been sent!!!!! ","G T P Email Client",JOptionPane.INFORMATION_MESSAGE);
    Thread t = new Thread(r);
    t.start();
    message.setText("");
    catch (Exception e) {
    e.printStackTrace();
    and i define at the beggining the string FileName
    public static String FileName = new String();
    and thats for the attach button
    attachButton.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    if (fc == null) {
    fc = new JFileChooser();
    fc.addChoosableFileFilter(new ImageFilter());
    fc.setAcceptAllFileFilterUsed(true);
    fc.setFileView(new ImageFileView());
    fc.setAccessory(new ImagePreview(fc));
    fc.setMultiSelectionEnabled(true);
    int returnVal = fc.showDialog(Send.this,"Attach File");
    fc.getSelectedFile();
    File file = fc.getSelectedFile();
    It would be a great help if you can can help me find an answer to my problem.
    Thanks in advance.

    I tried to set a specific file for the FileChooser but again the same results.I tried without the preview classes again the same mistake.But when i tried without the JFileChooser it worked, but i must use a JFileChooser in order to choose a file to attach.I used a simple FileChooser and again the same mistakes.I don't know where the mistake is.
    I will be grateful if you can help me out,this is an emergency it is for my project and i'm desperate.
    I include the whole class.
    Thanks again and sorry for the long message.
    I hope you have some free time to help me out.
    Thanks again
    import java.awt.*;
    import javax.swing.JFileChooser.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    import javax.activation.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.*;
    import java.util.Properties;
    public class Send extends JFrame {
         public static void main(String[] args) throws Exception{
              Send client = new Send();
              client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              client.show();
         public static JLabel fromLabel = new JLabel("From: ");
              public static JLabel toLabel = new JLabel("To: ");
              public static JLabel hostLabel = new JLabel("SMTP Server: ");
              public static JLabel subjectLabel = new JLabel("Subject: ");
              public static JTextField fromField = new JTextField(40);
              public static JTextField toField = new JTextField(40);
              public static JTextField hostField = new JTextField(40);
              public static JTextField subjectField = new JTextField(40);
              public static JTextArea message = new JTextArea(40, 80);
              public static JScrollPane jsp = new JScrollPane(message);
         public static JButton sendButton = new JButton("Send Message");
         public static JButton clearButton = new JButton("Clear");
         public static JButton attachButton = new JButton("Attach File");
         public static JButton adbButton = new JButton("AddressBook");
         public static JFileChooser fc;
         public static String FileName = new String();
         public Send() {
              super("SMTP Send email");
              Container contentPane = this.getContentPane();
              contentPane.setLayout(new BorderLayout());
              JPanel labels = new JPanel();
              labels.setLayout(new GridLayout(4, 1));
              labels.add(hostLabel);
              JPanel fields = new JPanel();
              fields.setLayout(new GridLayout(4, 1));
              final String host = System.getProperty("mail.host", hostField.getText());
              hostField.setText(host);
              fields.add(hostField);
              final String to = System.getProperty("mail.to", toField.getText());
              labels.add(toLabel);
              fields.add(toField);
              final String from = System.getProperty("mail.from", fromField.getText());
              fromField.setText(from);
              labels.add(fromLabel);
              fields.add(fromField);
              labels.add(subjectLabel);
              fields.add(subjectField);
              Box north = Box.createHorizontalBox();
              north.add(labels);
              north.add(fields);
              north.add(attachButton);
              north.add(adbButton);
              contentPane.add(north, BorderLayout.NORTH);
              message.setFont(new Font("Arial", Font.PLAIN, 12));
              contentPane.add(jsp, BorderLayout.CENTER);
              JPanel south = new JPanel(new FlowLayout());
              south.setLayout(new FlowLayout(FlowLayout.CENTER));
              south.add(sendButton);
              south.add(clearButton);
              contentPane.add(south, BorderLayout.SOUTH);
              this.pack();
              adbButton.addActionListener(new ActionListener()
                        public void actionPerformed(ActionEvent e)
                             AddressBook adbook = new AddressBook();                     
              clearButton.addActionListener(new ActionListener()
                        public void actionPerformed(ActionEvent e)
                             fromField.setText("");
                             toField.setText("");      
                             hostField.setText("");     
                             subjectField.setText("");
                             message.setText("");
              attachButton.addActionListener(new ActionListener()
                             public void actionPerformed(ActionEvent e)
    if (fc == null) {
                             fc = new JFileChooser();
                                  fc.addChoosableFileFilter(new ImageFilter());
                                  fc.setAcceptAllFileFilterUsed(true);
                                  fc.setFileView(new ImageFileView());
                                  fc.setAccessory(new ImagePreview(fc));
                                  fc.setMultiSelectionEnabled(true);
                             int returnVal = fc.showDialog(Send.this,"Attach File");
                             File file= fc.getSelectedFile();
                             //fc.getSelectedFile();
                             /* JFileChooser fc = new JFileChooser();
                             int retval = fc.showOpenDialog(Send.this);
                        fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                        fc.setMultiSelectionEnabled(true);
                        File file = fc.getSelectedFile();*/
              DemoSend handler = new DemoSend();
              sendButton.addActionListener(handler);
              addWindowListener(new WindowAdapter()
                        public void windowClosing (WindowEvent e)
              setSize (600, 500);
              show();
         public class DemoSend implements ActionListener{
              public void actionPerformed(ActionEvent evt) {
                   try {
                        final Properties props = new Properties();
                        props.put("mail.host", hostField.getText());
                        final Session mailConnection = Session.getDefaultInstance(props, null);
                        final MimeMessage msg = new MimeMessage(mailConnection);
                        final Address to = new InternetAddress(toField.getText());
                        final Address from = new InternetAddress(fromField.getText());
                        //msg.setContent(message.getText(), "Content-Transfer-Encoding ,base64");
                        msg.setFrom(from);
                        msg.setRecipient(Message.RecipientType.TO, to);
                        msg.setSubject(subjectField.getText());
                        msg.setSentDate(new java.util.Date());
                        final MimeBodyPart mbp1 = new MimeBodyPart();
                        final MimeBodyPart mbp2 = new MimeBodyPart();
                        mbp1.setContent("Content-Transfer-Encoding", "base64");
                        mbp1.setText(message.getText());
                        //if (!FileName.equals("")) {     
                        mbp2.setDisposition(mbp2.ATTACHMENT);
                        mbp2.setContent("Content-Transfer-Encoding", "base64");
                        final FileDataSource fds=new FileDataSource(FileName);
                        mbp2.setDataHandler(new DataHandler(fds));
                        mbp2.setFileName(fds.getName());
                        final Multipart mp = new MimeMultipart();
                        mp.addBodyPart(mbp1);
                        //if (!FileName.equals("")) {
                        mp.addBodyPart(mbp2);
                        msg.setSentDate(new Date());
                        msg.setHeader("Content-Type", "multipart/mixed");
                        msg.setContent(mp);
                        Runnable r = new Runnable() {
                             public void run() {
                                  try {
                                       Transport.send(msg);
                                       JOptionPane.showMessageDialog(null," Your message has been sent successfuly","G T P Email Client",JOptionPane.INFORMATION_MESSAGE);
                                  catch (Exception e) {
                                       e.printStackTrace();
                                       JOptionPane.showMessageDialog(null," -- E r r o r -- Your message has not been sent!!!!! ","G T P Email Client",JOptionPane.INFORMATION_MESSAGE);
                        Thread t = new Thread(r);
                        t.start();
                   catch (Exception e) {
                        e.printStackTrace();
    }

  • Problem with SOAP receiver adapter? Please help!

    Hi experts
       I have the following scenario:
       SAP R/3 -ABAP Proxy>XI--->SOAP --webservice
       As you can see, I am sending data from R/3 system to XI via ABAP proxy. XI then sends data or calls a webservice via SOAP adapter.
    When I test this scenario I am getting a error in the sxmb_moni that is,
    "com.sap.aii.af.ra.ms.api.DeliveryException: TEXT/HTML; HTTP 504 Gateway Time-out"
    I have checked the webservice url and it is working fine.
    Can somebody tell me why am I getting this error message? How do I resolve this?
    Thanks
    Gopal

    Hi,
    Can you please check the  settings in Soap Adapter with Module Adapter setting with ModuleTranformBean parameters? There may be some problem. use HTTP Adapter and the message type 'HttpPostIn' to send as HTTP Post.
    Also
    There is the note 450226 gives an overview over error codes
    Probably below solution may help you.........
    As an administrator on your portal go to:
    System Configuration > Service Configuration >applications
    Under: com.sap.portal.ivs.httpservice > Services > Proxy
    If any proxy settings are configured you may end up with the problem, so you need to set the "nonProxyHosts" to include the trex host.
    regards
    Aashish Sinha
    PS : reward points if helpful

  • Problem with SOAP Adapter receiver not receiving the proper string

    Hi friends
    I have a very simple scenario as follows using SOAP Syncronous Call
    SENDING SCENARIO
    ================
    ExternalClient --> SOAP ADAPTER --> XI -> RFC ADAPTER --> ZBAPI
    RECEIVING SCENARIO
    ==================
    ZBAPI  --> RFC ADAPTER   --> XI    -->   SOAP ADAPTER  --> ExternalClient
    Here External Client is sending a search ID and ZBAPI searches for that record and send the FirstName and LastName.
    I am using external Definitions in XSD format as follows.
    INPUT XSD is
    =========================================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://cincom.com/xi/socrates/customerSearch" targetNamespace="http://cincom.com/xi/socrates/customerSearch">
         <xsd:element name="ZBAPI_GET_NAME">
              <xsd:complexType>
                   <xsd:all>
                        <xsd:element name="ID" type="xsd:integer" minOccurs="0" />
                   </xsd:all>
              </xsd:complexType>
         </xsd:element>
    </xsd:schema>
    ===========================================
    Reciving XSD file has
    ==============================================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:socrates.cincom.com" targetNamespace="urn:socrates.cincom.com">
         <xsd:element name="ZBAPI_GET_NAME_RESPONSE">
         <xsd:complexType>
         <xsd:all>
         <xsd:element name="ADDRESSDATA" minOccurs="0">
         <xsd:complexType>
         <xsd:sequence>
         <xsd:element name="FNAME" minOccurs="0">
              <xsd:simpleType>
                   <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="20" />
                   </xsd:restriction>
              </xsd:simpleType>
         </xsd:element>
         <xsd:element name="LNAME" minOccurs="0">
              <xsd:simpleType>
                   <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="20" />
                   </xsd:restriction>
              </xsd:simpleType>
         </xsd:element>
         </xsd:sequence>
         </xsd:complexType>
         </xsd:element>
         </xsd:all>
         </xsd:complexType>
         </xsd:element>
    </xsd:schema>
    =========================================================
    I HAVE TESTED THE ZBAPI AND IT WORKS WELL ON ITS OWN. ALSO I HAVE TESTED THAT THE MESSAGE SENT FROM OUTSIDE CLIENT IS REACHING BAPI. HOWEVER WHEN I GOTO 'SXMB_MONI' AND CHECK THE
    XML STRING THAT THE RECIEVER IS GETTING, I SEE JUST THE FOLLOWING TWO LINES
    ===================================
      <?xml version="1.0" encoding="UTF-8" ?>
      <ns1:ZBAPI_GET_NAME_RESPONSE xmlns:ns1="urn:socrates.cincom.com" />
    ======================================
    IF YOU NEED ANY FURTHER INFO, PLEASE LET ME KNOW.
    HOPE SOME ONE CAN GUIDE ME WITH THIS PROBLEM.
    THANKS IN ADVANCE
    RAM

    Ram
    Can you pls. confirm whether the mapping of your XSD fields & BAPI fields are in same sequence. I mean hierarchy is same or not.
    Just to verify, as you said you are using Sync scenario that means you are using ONE Sender Soap & ONE Reciever RFC adapter.
    Regards
    Lalit

Maybe you are looking for