Ahoj. Snazim sa vyriesit nasledovny problem ( tyka sa to datovych schranok ):
Mam k dispozicii xml, ktore vyzera byt fragmentom nejakej soap message ( asi jej payloadom ). Konkretny priklad: <?xml version="1.0"?> <q:MessageDownloadResponse xmlns:q="http://isds.czechpoint.cz/v20/message" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" isds_send="https://www.czebox.cz/any/DS/dz"> <q:dmReturnedMessage> <p:dmDm xmlns:p="http://isds.czechpoint.cz/v20"> <p:dmID>101761</p:dmID> <p:dbIDSender>abcdefgh</p:dbIDSender> .... .... Takisto mam k dispozicii mnozstvo java class, vygenerovanych z xsd-cok, do ktorych sa pri priamom volani webservice toto xml transformuje. Ja by som rad to xml nejak deserializoval vyuzitim tych class a nepisal si vlastny sax parser. Som si takmer isty ( z priameho volania ws ), ze vysledok by mal byt v class-e Holder<TReturnedMessage>. Nedari sa mi ale prist na sposob, ako na to. Hladal som "MessageDownloadResponse", to som nasiel vo wsdl ako: <message name="MessageDownloadResponse"> <part name="parameter" element="tns:MessageDownloadResponse" /> </message> Skusil som si vygenerovat .java zdrojaky z wsdl a skumat tam, ale jedine, na co som narazil, je: ObjectFactory.java: @XmlElementDecl(namespace = "http://isds.czechpoint.cz/v20", name = "MessageDownloadResponse") public JAXBElement<TMessDownOutput> createMessageDownloadResponse(TMessDownOutput value) { return new JAXBElement<TMessDownOutput>(_MessageDownloadResponse_QNAME, TMessDownOutput.class, null, value); } a DmOperationsPortType.java: @WebMethod(operationName = "MessageDownload") @RequestWrapper(localName = "MessageDownload", targetNamespace = "http://isds.czechpoint.cz/v20", className = "cz.czechpoint.isds.v20.TIDMessInput") @ResponseWrapper(localName = "MessageDownloadResponse", targetNamespace = "http://isds.czechpoint.cz/v20", className = "cz.czechpoint.isds.v20.TMessDownOutput") public void messageDownload( @WebParam(name = "dmID", targetNamespace = "http://isds.czechpoint.cz/v20") String dmID, @WebParam(name = "dmReturnedMessage", targetNamespace = "http://isds.czechpoint.cz/v20", mode = WebParam.Mode.OUT) Holder<TReturnedMessage> dmReturnedMessage, @WebParam(name = "dmStatus", targetNamespace = "http://isds.czechpoint.cz/v20", mode = WebParam.Mode.OUT) Holder<TStatus> dmStatus); Tymto veciam vobec nerozumiem, predpokladam, ze tie anotacie robia nejaku magiu, ktora je mojim ociam ukryta. Tusi niekto ako na to? Dik. -- Dusan
