Hello Ben,

I tested the Metro implementation of the stock trader app that is in the trunk 
against the dotnet implementation (immediately after getting the latest 
revision of both), and have included the results below. I had a failure anytime 
I attempted to use any "OPSSEC" service. I included the final test (.NET for 
all layers) as a sanity test. It looks like there is something wrong with my 
configuration that may allow for some failures to be disregarded (unless anyone 
else can verify the same results).

Client  BS              OPS             SEC?            Result
METRO           METRO           METRO           NO              PASS
METRO           METRO           METRO           YES             FAIL [1]
METRO           METRO           DOTNET  NO              PASS
METRO           METRO           DOTNET  YES             FAIL [1]
METRO           DOTNET  METRO           NO              PASS            
METRO           DOTNET  METRO           YES             FAIL [2]
METRO           DOTNET  DOTNET  NO              PASS
METRO           DOTNET  DOTNET  YES             FAIL [3]
DOTNET  METRO           METRO           NO              PASS
DOTNET  METRO           METRO           YES             FAIL [4]
DOTNET  METRO           DOTNET  NO              PASS
DOTNET  METRO           DOTNET  YES             FAIL [4]
DOTNET  DOTNET  DOTNET  YES             FAIL [3]

Hope this helps in some way!

- Nick

[1] Logged in successfully. Could view portfolio and account information. 
Buying and selling shares sent me back to login screen, and never completed 
successfully. The following error was recorded in the server logs each time:

Log Level  WARNING 
Logger  javax.enterprise.system.stream.err 
Name-Value Pairs  
_ThreadID=22;_ThreadName=DataHandler.getInputStream;_RequestID=e1507475-d159-4ebf-9ae0-01887769bb2d;
 
Record Number  526 
Message ID  com.sun.xml.wss.impl.XWSSecurityRuntimeException 
Complete Message  Unable to calculate cipher value as invalid key was provided 
at 
com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.encryptData(CryptoProcessor.java:241)
 at 
com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.encrypt(CryptoProcessor.java:126)
 at 
com.sun.xml.ws.security.opt.impl.util.CVDataHandler.writeTo(CVDataHandler.java:55)
 at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:897) at 
javax.activation.DataHandler$1.run(DataHandler.java:279) at 
java.lang.Thread.run(Thread.java:619) Caused by: 
java.security.InvalidKeyException: Illegal key size or default parameters at 
javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.a(DashoA13*..) at 
javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.init(DashoA13*..) at 
javax.crypto.Cipher.init(DashoA13*..) at 
com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.initCipher(CryptoProcessor.java:102)
 at 
com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.encryptData(CryptoProcessor.java:195)
 ... 5 more 

[2] Saw the following error with a debugger attached to the Business Service 
while attempting to buy stocks:
MessageSecurityException was unhandled by user code.
An unsecured or incorrectly secured fault was received from the other party. 
See the inner FaultException for the fault code and detail.

[3] Saw the following error with a debugger attached to the Business Service 
while attempting to buy stocks:
SecurityNegotiationException was unhandled by user code
Secure channel cannot be opened because security negotiation with the remote 
endpoint has failed. This may be due to incorrectly specified EndpointIdentity 
in the EndpointAddress used to create the channel. Please verify the 
EndpointIdentity specified or implied by the EndpointAddress correctly 
identifies the remote endpoint.

[4] Encountered the following error when attempting to buy stocks:

Server Error in '/trade' Application.
--------------------------------------------------------------------------------

com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status 
code 500: Internal Server Error 
Description: An unhandled exception occurred during the execution of the 
current web request. Please review the stack trace for more information about 
the error and where it originated in the code. 

Exception Details: System.ServiceModel.FaultException: 
com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status 
code 500: Internal Server Error

Source Error: 


Line 422:            {
Line 423:                this.Channel = null;
Line 424:                throw;
Line 425:            }
Line 426:        }
 

Source File: 
c:\Stonehenge\stocktrader\dotnet\trader_client\BusinessServiceClient\BusinessServiceClient.cs
    Line: 424 

Stack Trace: 


[FaultException: com.sun.xml.ws.client.ClientTransportException: The server 
sent HTTP status code 500: Internal Server Error]
   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage 
reqMsg, IMessage retMsg) +7594687
   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& 
msgData, Int32 type) +275
   Trade.BusinessServiceContract.ITradeServices.sellEnhanced(String userID, 
Int32 holdingID, Double quantity) +0
   Trade.BusinessServiceClient.BusinessServiceClient.sellEnhanced(String 
userID, Int32 holdingID, Double quantity) in 
c:\Stonehenge\stocktrader\dotnet\trader_client\BusinessServiceClient\BusinessServiceClient.cs:424
   Trade.BusinessServiceClient.BSLClient.sell(String userID, Int32 holdingID, 
Double quantity) in 
c:\Stonehenge\stocktrader\dotnet\trader_client\BusinessServiceClient\BSLClient.cs:455
   Trade.Web.Order.Page_Load(Object sender, EventArgs e) in 
c:\Stonehenge\stocktrader\dotnet\trader_client\Trade\Order.aspx.cs:85
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, 
Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, 
EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, 
Boolean includeStagesAfterAsyncPoint) +627


Reply via email to