这是我面临的问题,需要一些帮助/指导。
我已经从我的引擎生成了一条XML消息,需要将其解析为服务。为此,我必须将该消息更改为SOAP消息并在其上插入SAML令牌。我正在尝试使用C#代码执行此操作。下面是我生成的输入消息和预期输出:
输入消息:
删除已在SOAP正文中插入的输入消息
期望的输出消息:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope
xmlns:S="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsse11="http://docs.oasisopen.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-utility-1.0.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:exc14n="http://www.w3.org/2001/10/xml-exc-c14n#">
<S:Header>
<To mustUnderstand="true"
xmlns="http://www.w3.org/2005/08/addressing">https://localhost:443/Gateway/PatientDiscovery/1_0/NwHINService/NwHINPatientDiscovery
</To>
<Action mustUnderstand="true"
xmlns="http://www.w3.org/2005/08/addressing">urn:hl7-org:v3:PRPA_IN201305UV02:CrossGatewayPatientDiscovery
</Action>
<ReplyTo mustUnderstand="true"
xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</ReplyTo>
<MessageID mustUnderstand="true"
xmlns="http://www.w3.org/2005/08/addressing">461433e3-4591-453b-9eb6-791c7f5ff882
</MessageID>
<wsse:Security S:mustUnderstand="true">
<wsu:Timestamp wsu:Id="_1"
xmlns:ns17="http://docs.oasis-open.org/ws-sx/wssecureconversation/200512"
xmlns:ns16="http://schemas.xmlsoap.org/soap/envelope/">
<wsu:Created>2012-06-08T18:31:44Z</wsu:Created>
<wsu:Expires>2012-06-08T18:36:44Z</wsu:Expires>
</wsu:Timestamp>
使用X509证书我可以创建签名部分。但是,我无法创建SAML断言和SOAP消息。如果有人可以帮助/指导我这将是一个很大的帮助。这是我在C#中的代码:
删除我的代码因为它已经是主代码库的一部分
慕标琳琳
侃侃无极
相关分类