我需要调用使用AWS_IAM保护的AWS Gateway API服务.
我想使用,HttpClient因为这是微软的推荐方式.
我用其他方法找到了一些示例代码.我还发现了使用其内部IRequest的官方AWS SDK.我正在编写IRequest的实现,所以我可以使用Amazon.Runtime.Internal.Auth.AWS4Signer.SignRequest.但这似乎令人难以置信的hacky!
我真正想要的是需要我的东西HttpClient,然后注入Host,X-Amz-Content-SHA256,X-Amz-Date和Authorization标头.
我发现很难相信现在还没有现成的库.
请注意,这与此问题类似,但它有点旧,我希望现在有一个更简单的方法.是否有可以使用AWS V4签名签署请求的.NET库?
更新2018-03-21 - 现在有一个NuGet包https://www.nuget.org/packages/Aws4RequestSigner/
我的同事用过这个并报告它运作良好!我希望这对任何到达这个问题的人都有帮助.
我正在使用BizTalk 2006 R2从WSDL文件生成Web引用.
将生成的XSD与WSDL进行比较,很明显丢失了大量信息.
考虑以下WSDL摘录:
<s:element form="unqualified" minOccurs="0" maxOccurs="4" name="Applicant">
<s:complexType>
<s:sequence>
<s:element form="unqualified" minOccurs="1" maxOccurs="1" name="ApplicantIdentifier">
<s:simpleType>
<s:restriction base="s:string" />
</s:simpleType>
</s:element>
<s:element form="unqualified" minOccurs="0" maxOccurs="1" name="Name">
<s:complexType>
<s:sequence>
<s:element form="unqualified" minOccurs="0" maxOccurs="1" name="Title">
<s:simpleType>
<s:restriction base="s:string">
<s:maxLength value="10" />
</s:restriction>
</s:simpleType>
</s:element>
<s:element form="unqualified" minOccurs="0" maxOccurs="1" name="Forename">
<s:simpleType>
<s:restriction base="s:string">
<s:pattern value="[0-9A-Za-z \-]*" />
<s:maxLength value="15" />
<s:minLength value="1" />
</s:restriction>
</s:simpleType>
</s:element>
<!-- more -->
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
Run Code Online (Sandbox Code Playgroud)
BizTalk生成的等效XSD是:
<xs:element minOccurs="0" maxOccurs="unbounded" form="unqualified" name="Applicant"> …Run Code Online (Sandbox Code Playgroud)