当前位置: 首页 > 知识库问答 >
问题:

在MVC C#中生成SOAP头

万开畅
2023-03-14

我在我的项目中添加了一个服务引用。

我需要按照下面的方式传入安全头

<soapenv:Header>
  <oas:Security>
      <oas:UsernameToken>
        <oas:Username>username</oas:Username>
        <oas:Password>!password</oas:Password>
     </oas:UsernameToken>
  </oas:Security>

null

我怎么设置这个。如果你看一下我是如何设置请求的,有没有可能以同样的方式对头进行设置。

安全XSD嵌入在WSDL中。

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd

而且

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd。

对服务操作的请求按照以下方式填充:

MyWebService.PortTypeClient client = new MyWebService.PortTypeClient();

MyWebService.SecurityHeaderType secHeader = new MyWebService.SecurityHeaderType();    

RetrieveOperationRequest detailsRequest = new RetrieveOperationRequest ();
detailsRequest.inputParam1 = "1234";

var result = client.RetrieveOperation(secHeader, detailsRequest);

如何生成页眉部分???

您可以看到我传递security header,因为这是web服务所需要的。

多谢了。

共有1个答案

阎宾实
2023-03-14

我设法找到了解决办法/变通办法。

这是在web.config文件中设置的。

 <client>
  <endpoint address="http://localhost:6478/service/1.0"
    binding="basicHttpBinding" bindingConfiguration="ServiceEndpointBinding"
    contract="TestService.PortType" name="ServiceEndpoint">
    <headers>
      <ns2:Security xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
        xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <ns2:UsernameToken>
          <ns2:Username>username</ns2:Username>
          <ns2:Password>!password</ns2:Password>
        </ns2:UsernameToken>
      </ns2:Security>
    </headers>
  </endpoint>
</client>

不幸的是,我再也找不到这个解决方案的来源了。我只是在解决这个问题。

 类似资料:
  • 我需要生成一个MM7 Soap消息,就像下面的消息一样。我可以生成MM7 Soap,但SMIL消息部分和图像/文本附件是个问题。有人知道如何生成这些零件吗? --===========FBS6FTL4PDKIMRJINCAAIDYTDJ9ULMContent-Transfer-Encoding:8BitContent-Type:Multipart/Related;type=“Application

  • 这里有一个关于如何在Spring中生成SOAP Web服务的很好的例子:https://spring.io/guides/gs/producing-web-service/ 此示例演示如何执行一个终结点和一个服务。如何通过多个服务和endpoint获得相同的结果?

  • ​ 全称是Multi-Version Concurrent Control,即多版本并发控制,在MVCC协议下,每个读操作会看到一个一致性的snapshot,并且可以实现非阻塞的读。MVCC允许数据具有多个版本,这个版本可以是时间戳或者是全局递增的事务ID,在同一个时间点,不同的事务看到的数据是不同的。 MySQL的innodb引擎是如何实现MVCC的 innodb会为每一行添加两个字段,分别表示

  • 几天来,我一直在尝试使用带有Apache CXF的Spring Boot来生成SOAP 1.2endpoint,但是即使WSDL不使用SOAP 1.1命名空间,Spring仍然在同一位置生成SOAP 1.1和SOAP 1.2endpoint! 我的wsdl定义只有SOAP 1.2的endpoint web服务beans文件包含以下内容; 但是,当我浏览到wsdl时,我看到了SOAP 1.1和SOA

  • 我目前正在Spring soap服务器项目上工作。我从Spring的入门指南(http://Spring.io/guides/gs/production-web-service/)开始,构建一个基本的SOAP服务。 默认的SOAP协议是SOAP V1.1。是否有一种方法可以将协议设置为V1.2,可能是通过注释? 我在类上尝试了注释,但似乎不起作用。 我还尝试来设置它,但这在启动时的日志中都不起作用

  • 在 NiFi 中,我有一个带有属性 的流文件。我需要基于 生成一个 UUID v5,并将其作为属性添加到流文件中。此 uuid 需要基于 RSID,因为某些报告将具有相同的 ,因此需要具有相同的 UUID5。 我在Groovy中看到一些方法会生成随机uuid,但不是v5也不是基于字符串。这在Groovy/NiFi中可以做到吗?如果可以,这将如何完成?我对Groovy很陌生。