|
From: <bob...@us...> - 2003-12-15 09:51:38
|
Update of /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/transport
In directory sc8-pr-cvs1:/tmp/cvs-serv20508/src/hk/hku/cecid/phoenix/message/transport
Modified Files:
Http.java Mail.java
Log Message:
Take out soap envelope parsing logic from
Message.getMessageFromDataSource() to form
another method parseSoapEnvelopeOnly().
Change Http.send() to return a EbxmlMessage rather than a soap message
Store the byte array of soap envelope when received my Http and Mail,
and also change the signature verification logic to read those byte array.
It will fix the bug on signature verification of a non "soap-env" namespace
message received from Sync Reply channel.
Index: Http.java
===================================================================
RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/transport/Http.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Http.java 11 Dec 2003 06:41:30 -0000 1.11
--- Http.java 15 Dec 2003 09:51:35 -0000 1.12
***************
*** 78,81 ****
--- 78,82 ----
import hk.hku.cecid.phoenix.message.handler.ErrorMessages;
import hk.hku.cecid.phoenix.message.handler.InitializationException;
+ import hk.hku.cecid.phoenix.message.handler.MessageServer;
import hk.hku.cecid.phoenix.message.packaging.EbxmlMessage;
import hk.hku.cecid.phoenix.pki.KeyStoreKeyManager;
***************
*** 309,313 ****
* @throws TransportException
*/
! public static SOAPMessage send(EbxmlMessage message, String toUrl)
throws TransportException {
--- 310,314 ----
* @throws TransportException
*/
! public static EbxmlMessage send(EbxmlMessage message, String toUrl)
throws TransportException {
***************
*** 363,367 ****
message.getMimeHeaders().setHeader(Constants.CONTENT_TYPE, type);
*/
! SOAPMessage responseMessage = null;
try {
URL url = new URL(toUrl);
--- 364,368 ----
message.getMimeHeaders().setHeader(Constants.CONTENT_TYPE, type);
*/
! EbxmlMessage responseMessage = null;
try {
URL url = new URL(toUrl);
***************
*** 480,486 ****
if (bytes.length > 0) {
! responseMessage = MessageFactory.newInstance().
! createMessage(mimeHeaders,
! new ByteArrayInputStream(bytes));
}
}
--- 481,493 ----
if (bytes.length > 0) {
! SOAPMessage responseSoapMessage
! = MessageFactory.newInstance().createMessage(
! mimeHeaders, new ByteArrayInputStream(
! bytes));
! byte[] soapEnvelope
! = MessageServer.getSoapEnvelopeBytesFromStream(
! new ByteArrayInputStream(bytes));
! responseMessage = new EbxmlMessage(responseSoapMessage);
! responseMessage.setSoapEnvelopeBytes(soapEnvelope);
}
}
Index: Mail.java
===================================================================
RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/transport/Mail.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -d -r1.42 -r1.43
*** Mail.java 11 Dec 2003 06:41:30 -0000 1.42
--- Mail.java 15 Dec 2003 09:51:35 -0000 1.43
***************
*** 70,73 ****
--- 70,74 ----
import hk.hku.cecid.phoenix.common.util.Property;
+ import hk.hku.cecid.phoenix.message.handler.MessageServer;
import hk.hku.cecid.phoenix.message.handler.Constants;
import hk.hku.cecid.phoenix.message.handler.ErrorMessages;
***************
*** 783,788 ****
mimeHeaders, messages[i].getInputStream());
}
!
! ebxmlMessages.add(new EbxmlMessage(soapMessage));
messages[i].setFlag(Flags.Flag.DELETED, true);
}
--- 784,793 ----
mimeHeaders, messages[i].getInputStream());
}
! byte[] soapEnvelopeBytes
! = MessageServer.getSoapEnvelopeBytesFromStream(
! messages[i].getInputStream());
! EbxmlMessage ebxmlMessage = new EbxmlMessage(soapMessage);
! ebxmlMessage.setSoapEnvelopeBytes(soapEnvelopeBytes);
! ebxmlMessages.add(ebxmlMessage);
messages[i].setFlag(Flags.Flag.DELETED, true);
}
|