[ http://issues.apache.org/jira/browse/WSCOMMONS-32?page=all ]
Lakshmi Chaparala updated WSCOMMONS-32:
---------------------------------------
Attachment: DataObjectOMDataSource.java
Our implementation is based off the OMDataSourceTest.java code from Axiom. Our
custom OMDataSource simply serializes a Byte array. The source code is
attached. Our DataObjectOMDataSource is used in our code as follows:
private OMElement getQueryResults(SNLModel snlModel, Vector requiredAttrs ,
IDataObjectProcessor processor) {
//This populates the member ByteArrayOutputStream os with xml
getDataObjectxml(snlModel, requiredAttrs, processor);
//***** OMDataSource implementation **********
String dataObjectSetNamespaceURI =
"http://www.issinc.com/gateway/domain";
OMFactory omFactory = OMAbstractFactory.getOMFactory();
OMNamespace omNamespace =
omFactory.createOMNamespace(dataObjectSetNamespaceURI, "");
OMElement dataObjectSetElement = new
OMSourcedElementImpl("DataObjectSet",
omNamespace,
new
OMLinkedListImplFactory(),
new
DataObjectOMDataSource(os.toByteArray()));
return dataObjectSetElement;
}
If there is something incorrect with this implementation, please let us know.
The only way we could get it to work was to eliminate the OMSourcedElementImpl
derived getXMLStreamReaderWithoutCaching() method.
> Call to OMSourcedElementImpl.getXMLStreamReaderWithoutCaching() returns an
> XMLStreamReader WITH caching
> -------------------------------------------------------------------------------------------------------
>
> Key: WSCOMMONS-32
> URL: http://issues.apache.org/jira/browse/WSCOMMONS-32
> Project: WS-Commons
> Type: Bug
> Components: AXIOM
> Environment: Windows XP, JBOSS4.0.3 SP1
> Reporter: Lakshmi Chaparala
> Assignee: Dennis Sosnoski
> Attachments: DataObjectOMDataSource.java
>
> I used Axis2's OMSourcedElementTest.java as an example of how to use a
> custom OMDataSource. In this case you construct an OMSourcedElementImpl
> class and give it your custom OMDataSource. When the service implementation
> class the constructed OMSourcedElementImpl and Axiom streams it out, the
> OMSerializerUtil class makes a call to
> OMSourcedElementImpl.getXMLStreamReaderWithoutCaching(), which returns an
> XMLStreamReader WITH caching. This sends the code down an execution path
> that fails to stream the OMSourcedElementImpl because it looks for OMElement
> objects that aren't there.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]