|
From: <bob...@us...> - 2003-07-29 09:23:57
|
Update of /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/packaging
In directory sc8-pr-cvs1:/tmp/cvs-serv25832/src/hk/hku/cecid/phoenix/message/packaging
Modified Files:
EbxmlMessage.java
Log Message:
Fix the bug on EbxmlMessage constructor with argument SOAPMessage
so that the writeTo() will not make MimeBoundary on MimeBoundary.
Index: EbxmlMessage.java
===================================================================
RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/packaging/EbxmlMessage.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** EbxmlMessage.java 18 Jul 2003 14:53:26 -0000 1.32
--- EbxmlMessage.java 29 Jul 2003 09:23:54 -0000 1.33
***************
*** 195,198 ****
--- 195,233 ----
public EbxmlMessage(SOAPMessage soapMessage)
throws SOAPException {
+ SOAPMessage partOnlyMessage
+ = MessageFactory.newInstance().createMessage();
+ /*
+ copy the soap message mime headers to the part only message
+ */
+ Iterator soapMessageHeadersIterator
+ = soapMessage.getMimeHeaders().getAllHeaders();
+ while (soapMessageHeadersIterator.hasNext()) {
+ MimeHeader header = (MimeHeader) soapMessageHeadersIterator.next();
+ partOnlyMessage.getMimeHeaders().setHeader(header.getName(),
+ header.getValue());
+ }
+
+ SOAPPart inputSoapPart = soapMessage.getSOAPPart();
+ /*
+ copy the soap part's mime header to the part only message
+ */
+ Iterator soapPartHeadersIterator = inputSoapPart.getAllMimeHeaders();
+ while (soapPartHeadersIterator.hasNext()) {
+ MimeHeader header = (MimeHeader) soapPartHeadersIterator.next();
+ partOnlyMessage.getSOAPPart().setMimeHeader(header.getName(),
+ header.getValue());
+ }
+
+ /*
+ copy the soap part content to the part only message.
+ */
+ partOnlyMessage.getSOAPPart().setContent(inputSoapPart.getContent());
+
+ this.soapMessage = partOnlyMessage;
+ this.soapEnvelope = this.soapMessage.getSOAPPart().getEnvelope();
+ headerContainer = new HeaderContainer(partOnlyMessage.getSOAPPart());
+ payloadContainers = new ArrayList();
+
+ /*
this.soapMessage = soapMessage;
this.soapEnvelope = soapMessage.getSOAPPart().getEnvelope();
***************
*** 201,205 ****
headerContainer = new HeaderContainer(soapMessage.getSOAPPart());
payloadContainers = new ArrayList();
!
Manifest manifest = headerContainer.getManifest();
if (manifest != null) {
--- 236,240 ----
headerContainer = new HeaderContainer(soapMessage.getSOAPPart());
payloadContainers = new ArrayList();
! */
Manifest manifest = headerContainer.getManifest();
if (manifest != null) {
***************
*** 235,239 ****
--- 270,290 ----
}
}
+ String[] soapAction =
+ this.soapMessage.getMimeHeaders().getHeader(SOAP_ACTION);
+ if (headerContainer.getMessageHeader() == null || soapAction == null ||
+ !soapAction[0].equals(SOAP_ACTION_VALUE)) {
+ this.soapMessage.getMimeHeaders().setHeader(
+ SOAP_ACTION, SOAP_ACTION_VALUE);
+ }
+ String soapPartContentId
+ = this.soapMessage.getSOAPPart().getContentId();
+ if (soapPartContentId == null || soapPartContentId.equals("")) {
+ soapPartContentId = (needPatch ? "<" + SOAP_PART_CONTENT_ID + ">" :
+ SOAP_PART_CONTENT_ID);
+ this.soapMessage.getSOAPPart().setContentId(soapPartContentId);
+ }
+
+ /*
String[] soapAction =
soapMessage.getMimeHeaders().getHeader(SOAP_ACTION);
***************
*** 250,253 ****
--- 301,305 ----
soapMessage.getSOAPPart().setContentId(soapPartContentId);
}
+ */
saveChanges();
|