Struggling to create a Document out of xml string

I am trying to parse a simple xml into a Document. I have already tried Jaxb but gave up( the file i need to unmarshall is quite complicated the output kept bombing with the soap exception "premature end of file") so I went down this route, only to find that it is impossible to get working. I have already see the other thread with a similar issue but the workaround suggested does not work. Here is my code;
try {
javax.xml.parsers.DocumentBuilderFactory docFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
javax.xml.parsers.DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
docFactory.setNamespaceAware(true); <-- these 2 lines done as per recommendation here http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6181020
docFactory.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false); <;-- these 2 lines done as per recommendation here http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6181020
Document doc = docBuilder.parse("c:\\users\\ildsarria\\desktop\\test.xml");
System.out.println(doc.getDoctype() +"|"+ doc.getLocalName() +"|"+ doc.getDomConfig() +"|"+ doc.getLocalName());
} catch (ParserConfigurationException ex) {
System.err.println(ex.getStackTrace().toString());
} catch (Exception e) {
System.err.println(e.getStackTrace().toString());
No exception is thrown and the output is always null :
null|null|[email protected]50|null
I have tried this in netbeans and eclipse, and also with different files, lastly using this one just to try get it to pass:
<?xml version="1.0" encoding="UTF-8"?>
<Personnel>
<Employee type="permanent">
<Name>Seagull</Name>
<Id>3674</Id>
<Age>34</Age>
</Employee>
<Employee type="contract">
<Name>Robin</Name>
<Id>3675</Id>
<Age>25</Age>
</Employee>
<Employee type="permanent">
<Name>Crow</Name>
<Id>3676</Id>
<Age>28</Age>
</Employee>
</Personnel>
Any help would be greatly appreciated !
Edited by: ildsarria on Feb 9, 2010 11:28 AM

OK I have added the MTOM annotations and imported the package, and this allows my WS to deploy, however when i run it i get the java.lang.reflect.InvocationTargetException message ( see below)
import javax.xml.ws.soap.MTOM;
@MTOM
@WebService(name="Dfp",
            serviceName="DfpService",
            targetNamespace="")
@Stateless()
plublic class ..Part of the exception that I think is the clue :
...33 more Caused by: javax.xml.bind.UnmarshalException - with linked exception: [javax.xml.bind.UnmarshalException: Unable to create an instance of aem.adservices.dfp.ws.InputStream - with linked exception: [java.lang.InstantiationException]] at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) at com.sun.xml.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:120) at com.sun.xml.bind.api.Bridge.unmarshal(Bridge.java:233) at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:547) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:121) ...So I don't think it was enough to just include the annotations to be able to return the InputStream. Can anyone please help?
Many thanks

Similar Messages

  • How to create a Document object from a string.

    If I use the following code, the input String cannot contain "\n", otherwise, it generates errors.
    in the following code, inputXMLString is a String object that has xml content.
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(new InputSource(new StringReader(inputXMLString)));          How can I create a Document object from a string with "\n" in the string?
    Thanks.

    If I use the following code, the input String cannot
    contain "\n", otherwise, it generates errors.That's going to be a huge surprise to thousands of people who process XML containing newline characters every day without errors.
    Perhaps your newline characters are in the middle of element names, or something else that causes your XML to be not well-formed. I'm just guessing here, though, because you didn't say what errors you were getting.

  • Transaction SFP: ADS can create PDF documents with imbedded  XML ?

    Hello,
    Reading through the documentation of the integration of SAP and Adobe interactive forms, I somehow have the impression this is possible, but I do not find a hint how do it.
    I want to create PDF documents which should be 'finished' outside SAP. Is it possible to create a PDF document which contains not encrypted text (XML-stings), which can be parsed and replaced.
    Any idea is very much appreciated,
    Robert

    i use this it works.
    http://www.lowagie.com/iText/
    http://itext.sourceforge.net/docs/
    regards

  • Create URL Document for text only string (Not XML)

    I want to query a http page that return only a string of text. The response is not formatted with XML. Is it possible to read the value of “parameter1” containing “4321” from the Contact Center Express script?
    Response (pure text):
    parameter1=4321&parameter2=1234

    Getting the response body of an HTTP GET request is as easy as:
    Set my_string = URL[http://my-server.local/]
    Now, if the response body is formatted as a query string:  key1=value1&key2=value2, you will need to further process your results.
    You can feel free to search the web for "java query string" to see if there's code out there you like, otherwise, here's one way to do it in UCCX.
    /* This Set step makes the HTTP GET request to the web server and stores the response body in the String */
    Set my_string = URL[http://my-server.local/]
    /* This Do step takes any size query parameter and turns it into a HashMap */
    /* E.g., From this: key1=value1&key2=value2; to this: map[key1] = value1, map[key2] = value2 */
    Do {
        String[] pairs = my_string.split("&");
        int i = 0;
        int j = pairs.length;
        for (; i < j; i++) {
            my_map.put(pairs[i].split("=")[0], pairs[i].split("=")[1]);
    }/* This If step checks the existance of a specific key, and if it exists, we get the value for use in our script */If (my_map.containsKey("key1"))     True          /* The specified key is in the map, set account_number to its value */          Set account_number = (String) my_map.get("key1");     False          /* The specified key is not in the map */
    I hope that makes sense and helps you.  Ask questions if you need more help.  Good luck.
    Anthony Holloway
    Please use the star ratings to help drive great content to the top of searches.

  • Error while creating DocumentBuilderFactory object for parsing XML string

    When I try to execute the following statement in an EJB class,
    DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();
    I get the following exception:
    javax.xml.parsers.FactoryConfigurationError: Provider org.apache.crimson.jaxp.DocumentBuilderFactoryImpl not found
    When the same statement is executed from a standalone java class, it works fine.
    The IDE used is Visual Age for Java.
    The JAXP package used is JAXP 1.0.1
    Can anybody please let me know how can we overcome this problem?
    Thanks and Regards,
    Shashi Anand B
    E-Mail : [email protected]

    javax.xml.parsers.FactoryConfigurationError: Provider
    org.apache.crimson.jaxp.DocumentBuilderFactoryImpl not
    foundI suspect that this may be due to a classpath issue and/or a Java version issue. Doe your Visual Age installation use Java 1.3? Do you have Sun Java 1.4 also installed on your system? It may be that when you are executing from a standalone Java class, that you are using the Java 1.4 runtime, which include the org.apach.crimson.* classes. Earlier version of Java do not include this, although it may be in the JAXP package.
    I think that your Visual Age IDE is configured such that the DocumentBuilderFactory is unable to find the appropriate implementation.
    I hope this helps!
    - David

  • How to get an xml string into a Document w/o escaping mark-up characters?

    Hi,
    I am using one of the latest xerces using Java. I am pretty sure I am using xerces-2.
    I have an existing Document and I am trying to add more content to it. The new content itself is xml string. I am trying to insert this xml string into the document using document.createTextNode. I am able to insert, but somewhere it is escaping the mark-up characters (<,>,etc). When I convert the document into String, I can see, for example, <userData> instead of <userData>.
    There is an alternative option to accomplish this by creating a new document with this xml string, get the root element, import this element into my document. Execution time for this procedure is very high - means, this is very bad in terms of time-wise performance.
    Can any help on how to accomplish this (bringing an xml string into a document without escaping mark-up characters) in time-efficient way.

    So you want to treat the contents of the string as XML rather than as text? Then you have to parse it.
    Or if your reason for asking is just that you don't like the look of escaped text, then use a CDATA section to contain the text.

  • Create Business Partner from XMl String not a file

    Hi,
    Is it possible to create a BP from an XML string. 
    I know about GetBusinessPartnerFromXml(string FileName, int index)
    but I dont want to save the string in a file before creating a BP from it
    Hope there's a method to do that

    Marc,
    This looks like it is a duplicate of this post, so I am closing this thread as it looks like you answered your own question!
    Create Business Partner from XMl String not a file
    Eddy

  • How to create XML element with out creating a document

    I ve been looking for hours for a method to create an XML element without the need for the Document. I am trying to create objects that access the database, and I need in each of these objects a method that returns only an element (ie. getXMLData()). And in the class that created these object, I nee to call the getXML() methods and construct a document. However, I am not looking to create the document if I am not going to use it. In the component class I need to be able to traverse the xml element and read and modify the values. Is there a way to do so with sun's JDK ?

    I ve been looking for hours for a method to create an
    XML element without the need for the Document.
    ... I am not looking to create the document if I
    am not going to use it.Hi M-A,
    Though you have been told the solution, let's stick to your original issue, just for the sake of interest. I gather what you have in mind is finding the answer to the following question: is there a way of creating a document without having to bind it to any data source? The answer is yes. What you might need is the createDocument() method of the DOMImplementation interface which offers lightwight document handling by obviating the need to construct a particular DOM instance. (You could also use the getDOMImplementation() method of the DOMImplementationRegistry interface, but it has bugs.) Here's a sample code:DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder parser = factory.newDocumentBuilder();
    DOMImplementation domImpl = parser.getDOMImplementation();
    Document doc = domImpl.createDocument(null, "rootnode", null);The above code produces the following document:<?xml version="1.0" encoding="UTF-8"?>
    <rootnode/>You can make this document even skinnier if you pass null values to all three parameters of the createDocument() method, in which case the document will only contain the prolog. I think both the creation and the structure of this document are simple enough for you to use it as some sort of utility (e.g. by putting the code in a separate class) for creating elements.

  • Getting Error while creating Document object  after  parsing XML String

    Hi All,
    I have been trying to parse an XML string using the StringReader and InputSource interface but when I am trying to create Document Object using Parse() method getting error like
    [Fatal Error] :2:6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
    seorg.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
    Please find the code below which i have been experimenting with:
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.StringReader;
    import java.util.List;
    import java.util.*;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import java.io.*;
    public class TestMain {
         public static void main(String[] args) {
              String file = "";
              file = loadFileContent("C:\\Test.xml");
              System.out.println("contents >> "+file);
              parseQuickLinksFileContent(file);
    public static void parseQuickLinksFileContent(String fileContents) {
    PWMQuickLinksModelVO objPWMQuickLinksModelVO = new PWMQuickLinksModelVO();
         try {
    DocumentBuilderFactory factory =           DocumentBuilderFactory.newInstance();
         DocumentBuilder builder = factory.newDocumentBuilder();
         StringReader objRd = new StringReader(fileContents);
         InputSource objIs = new InputSource(objRd);
         Document document = builder.parse(objIs); // HERE I am getting Error.
         System.out.println(document.toString());
    What is happening while I am using builder.parse() method ???
    Thanks,
    Rajendra.

    Getting following error
    [Fatal Error] :2:6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
    seorg.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.

  • How to create shipment document with out inbound delivery document

    Dear Friends
    How to create shipment document with out outbound/inbound delivery document.
    In my client scenario, there is no inbound delivery for normal purchases.
    Just there are raising the PO to vendor, then they are doing MIGO for goods receipt.
    Can we do shipment creation with reference to PO?
    If it is possible, how it will be?
    Please let it solve
    With regards
    Lakshmikanth

    Dear Sameer,
    Please go to transaction VT01N here you enter Transportation planning point and shipment type then press enter.
    Now system will take you to the shipment document creation screen here you click on Select deliveries or press F6 now system will take you to the select outbound deliveries screen in this screen you enter selection data then execute, now deliveries will get assigned to that shipment.
    After assigning the deliveries enter the remaining data then complete the shipment finally save the shipment document.
    For more information please go through this SAP help link
    Note:- Shipment process need to be carry out for the deliveries before PGI.
    http://help.sap.com/saphelp_47x200/helpdata/en/f5/04898047bd11d2bf750000e8a7386f/frameset.htm
    I hope this will help you,
    Regards,
    Murali.

  • UCCX 8 - Dramatic change in the Create File Document step that is used by the Create XML Document step in order to read an XML file

    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:"Times New Roman";
    mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}
    For the last 5 years (and in IPCC3.x/4.x,UCCX/5.x/7.x) I've used the same basic subflow to read a XML document that contains holiday dates where the queue should be closed.  I've re-used this script on 20+ client installs and it's always worked.  The structure of the script allows you to pass the path and filename of the XML document as parameters to the subflow. (The document is in the repository)
    I loaded this script in UCCX 8.0.2 recently and it crashed with a Java.IO error.  It looked like it was trying to read the file system directly and not the repository. (In the Linux appliance model this kind of makes sense but why is the step trying to read the file system directly?)
    So I open a TAC case (SR# 615243125) and TAC tells me that the method of using the Create File Document step is not supported anymore and that I should specify the filename directly in the Create XML Document step
    The problem that I see (aside from having to edit all my scripts that use XML files) is that the Create XML Document step is looking for the input to be a type DOCUMENT and not a type STRING.  This seems to imply that I have to hardcode the document in each script that I deploy for a customer.  When it was a string it was easy to construct the full file path from parameters and pass to the subflow.
    Questions to the group
    #1 Am I missing something here?
    #2  Do you assume that you'll be able to load a script that worked fine in UCCX 7 into UCCX 8 and that it should completely function when you're doing everything according to the step reference documentation.
    #3 Cisco didn’t document this in any way that I can find.
    #4 How can you use the Create XML Document step in a fashion that would let you construct the path of the file and the filename previously in the script so you could pass it to a subflow ?  It would seem this functionality has been killed in UCCX 8
    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:"Times New Roman";
    mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}
    (Background)
    Create File Document Step
    The input filename is a STRING, could be an explicit path and filename in the repository or a variable that represents that path and string
    The output of this step is a DOCUMENT to be used in the Create XML Document step
    The string FILE_FullPathHolidayFiles references  en_us\folderName\documentName.xml
    The document was properly uploaded into the repository only, NOT trying to directly read c:\foo\blah…
    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:"Times New Roman";
    mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}
    The create XML document input can only be a type DOCUMENT

    #1 Am I missing something here?
    You are mixing two different issues together here.
    The Create File Document step is indeed not needed or supported for creating an XML document. That is why there is a unique step; to trigger XML parsing within the MIVR subsystem.
    Accessing the file system is restricted to a single folder within the VOS model (i.e. 8.0+). This folder is not backed up, replicated, or cleaned up automatically. It was intended to give developers some FS access as a temporary swap location only.
    #2  Do you assume that you'll be able to load a script that
    worked fine in UCCX 7 into UCCX 8 and that it should completely
    function when you're doing everything according to the step reference
    documentation.
    Assume nothing; read the documentation and attend one of the dozens of partner training sessions that CCBU put on advising of the upcoming changes.
    #3 Cisco didn’t document this in any way that I can find.
    You're right, I guess, on the Create File vs. XML Document step. AFAIK Cisco never wrote a notice into the Step Reference Guide explicitly stating that you cannot use the Create File Document although the documentation seemed pretty clear to me without it. File system restrictions are documented in the 8.0 release notes.
    Scripting and Development Series: Volume 2, Editor Step ReferenceUse the Create XML Document step to create a logical document that maps a document to another document variable (where the document has already been pre-parsed as an XML document and is ready to be accessed by the Get XML Document Data step).Use this step before the Get XML Document Data step to obtain data from a document formatted using the Extensible Markup Language (XML).
    #4 How can you use the Create XML Document step in a fashion that would
    let you construct the path of the file and the filename previously in
    the script so you could pass it to a subflow ?  It would seem this functionality has been killed in UCCX 8
    No it hasn't; just concatinate a string to build the Source Document parameter the step needs. Example:  "DOC[" + myFilePath + "]"

  • Creating an Element for an XML Document

    Assuming I have an XML file
    file.xml
    <root>
    <child1>
    <child2>
    <child100>
    <root>
    i do
    SAXBuilder parser = new SAXBuilder();
    doc = parser.build(file);
    root = doc.getRootElement();This returns a root elemnet for the entire tree.Now my question is how do i create a root element for say jus the top 10 children? That is, is there a way i can create a document just reading the first 10 elements from the file tree above so that when i do a getChildren on root I should have only 10 elements in the list.

    | 1. How are the attributes of an XML element can be stored to the database
    XML SQL Utility (which XSQL uses under the covers) only stores
    documents in the canonical format. You'll need to use an XSLT
    transformation to transform data into the canonical format
    (including transforming attribute values into elements whose
    names correspond to the column in which you'd like to store it)
    | 2. How can I store a single XML document to multiple database tables?
    I outline several techniques for this in my upcoming
    O'Reilly book, "Building Oracle XML Applications".
    The basic idea is to either:
    (1) Use an Object View with an INSTEAD OF INSERT trigger, or
    (2) Use a technique that transform the inbound document
    into a multi-table insert-format and passes each
    relevant part for insert to the XML SQL Utility separately.
    null

  • How to find out what software was used to create a document?

    Hello:
    I was sent a file to work with and it was supposedly made using a Mac computer, but I can't open it. How can I find out what program was actually used to create this document. It ends with xxxxx.rsrc. I even tried to open it on my PC and it says there is no default application specified to open the document.
    Thanks for your help.
    Susan
      Mac OS X (10.4.7)  

    Have you tried opening your file with Textedit?
    Also, if you select the file from the Finder and type cmnd-I (Get Info), it should tell you what program can be used to open it.
    Lita

  • I have created a document in in design but when i print it out the borders are wrong. How do I fix this?

    I have created a document in in design and have put a border around a photo and text box, but when i print it out the border is not even. How do I fix this?
    Barry

    Hello John, Thanks for replying. I have attached the document as a PDF (is this OK). I have been tasked with designing this certificate for my local RSL sub-Branch for our up coming Centenary Of ANZAC commemorations. As most of what I do has been self taught I’m sure there is a simple answer to my problem. I have adobe CS6. This is how I set the document up. I first used the rectangle frame tool then pulled in a photo from Bridge and faded it.I then did the same with the logo. For the text I used the text frame then used the frame tool twice to form the border and adjusted the thickness. Then I set all of the margins and the document to A4  . When the document is printed it shows even borders of 12mm on the top bottom and right side but the left side is 34mm. I hope this makes some sense to you John.
    Kind regards Barry

  • How do I create a "document-centric" Web Service?

    By document-centric I'm talking about receiving a SOAP message on the server-side, where the initial parsing and security processing (this aspect is very important) is performed but then allowing the developer to access the delivered "payload", i.e. the XML, and perform whatever mapping/processing that is required without automatically mapping to the "standard" auto-generated Java objects.
    It is important that the client receives the "full" complex WSDL and can therefore generate their proxy classes with whatever tool (or language) that is appropriate.
    On the server side we do not want to create hundreds (if not thousands) of Java Bean clases as we already have the legacy code to map XML to Java. The idea is that JAX-RPC only instantiates the SOAPElements that represent the "raw" message, or, if possible, doesn't instantiate any objects whatsoever.
    I've spent many days now trying to find a single well-worked example for this type of Web Service without success - many, many references of the style "..and you can then create a document style web service.." but without the all important "how".
    From what I've read a custom type-mapping and/or serializer/deserializer could be the answer but again no good, solid examples are forthcoming.
    Another alternative seems to be to create the server side stub-classes using a "dummy" WSDL with the elements set to "anyType" but then distribute the "genuine" WSDL to the clients - we've got a simple example of the kind working but I don't like the idea of "tricking" the system in this way.
    I'm working with WASD 5.1, which in theory conforms with JAX-RPC so any ideas offered here should also apply in that environment.
    Has ANYONE successfully created a service of this type?
    Any help with this issue would be very much appreciated and rewarded (with Duke Dollars of course).
    Chris.

    Chris,
    I too noticed that most vendors take the RPC centric approach. Its because most of the industry examples of how WSs were used were simple enough to implement using RPC and anything more (document literal) would add to the complexity of implementation. This is something that is feared by many developers, especialy the .Net crowd who seem to want everything done through a wizard menu interface and don't care about other WS implementations at all.
    This is sort of changing. J2EE 1.4 is WS-I compliant, so when you compile server side ties from WSDL you can specify a document literal option and WS-I compliance. This gives you access to the SOAPElement objects. There's still issues with going between W3C DOM and SOAP elements but that's just API inconvenience, not a show stopper. As the inudustry develops more complex WSs we will see the vendors change their tools to better support this...
    Anyway, some more help...
    I use the the following wscompile options to build from WSDL for document literal WSs.
    wscompile.bat -d . -nd . -s . -f:documentliteral -f:wsi -keep -model model.gz -import config.xml
    wscompile.bat -d . -nd . -s . -f:documentliteral -f:wsi -keep -model model.gz -gen:server config.xml
    My "wrapper" elements look like this...
    <xs:element name="AComplexXMLResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element ref="myNS:MYComplexXMLType"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    If I do this:
    <xs:element name="ASimpleXMLResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element name="AName" type="xs:string"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    I still get the JAXRPC language bindings to a string, but in my case I don't really care. This may well be different for you.
    What I do to manage these elements is to split up the WSDL, WS wrapper element definitions and actual data XML schema definitions into separate documents. This means I have a WSDL which IMPORTS my message schema (this is where I define wrappers for in and out XML) which INCLUDES the actual DATA XML schema that I have.
    The WSDL import looks like this:
    <types>
         <xs:schema>
              <xs:import namespace="http://schemaURI" schemaLocation="./relativePath/WrapperElementSchema.xsd"/>
         </xs:schema>
    </types>
    The wrapper element schema has:
    <xs:include schemaLocation="./ActualDataSchema.xsd"/>
    This way I can easily replace the wrapper documents with just anyType references if something doesn want to play nice. The data schema file and the WSDL stay the same. This minimises the impact on what you have to change in your distribution. This is important as the WSDL is often generated on the fly by your WS environment and so can not be easily changed once you build your WSs, but the schema files it references are easily changed without affecting your code.
    Another reason for the wrapper elements was a JWSDP 1.2 issue (I don't know if this has been fixed in 1.3), where if you had the same method parameter signature in a web service (the parameters it took were the same XML types, for instance if you have an add and update methods for the same document input) JWSDP would get confused at runtime. It did not take account of the SOAP action that came along with the request to determine which operation to call. It just took the incoming XML, saw that it was of a certain type and it passed it to the first operation that took this element, which is VERY wrong. By using the wrapper elements, I could give all my input and output elements for each method different names (I used a naming stragegy that appended a 'request' or 'response' string to the method name to form a method parameter element name. This is a pain in the ass, but works and does wonders for interoperability with other WS vendors. Like I said before, I've got this working with JWSDP, BEA and .Net servers and clients.
    Hope this helps,
    If you think there is a real need for a public HOWTO on this, I could write one with a full step by step guideline that shows where I broke my legs getting this stuff to work. But this would eat into my sleep time :-/ TO JUDGE INTEREST I call on all people interested in a tutorial to respond to this thread (esp people involved with the JWSDP WS tutorial documentation). If I get 5 or more different people responding I will loose some sleep for the good of this community. Otherwise, I will just try to help you when I have time to read the forums.
    Kuba

Maybe you are looking for