Tag: soap

如何在C#中查看实际的SOAP请求/响应

我在项目中添加了一个wsdl文件作为服务引用。 应用程序将SOAP消息发送到特定设备,然后以SOAP格式发送响应。 有没有办法查看包含在XML中的实际SOAP消息? 必须打开wireshark来查看SOAP消息变得乏味。

有没有办法让OWIN托管SOAP服务?

如何让OWIN托管SOAP端点(不管是否涉及WCF,SOAP都会提供WSDL,使得某些客户端更容易使用服务,这就是我想要SOAP和REST的原因) 我怀疑答案是:实现自己的托管SOAP端点的中间件。 如果这就是答案,那就是它,但这是很多工作,所以我可能最终会坚持使用WCF并避免OWIN,如果是这样的话。 我发现很难相信没有人实现过SOAP托管中间件…… 作为一项规则,我们喜欢在我们的服务上执行REST和SOAP端点; 目前我们使用IIS和WCF restful位来使用[ServiceContract] / [OperationContract]属性来托管SOAP,其余的是使用[WebInvoke]属性定义的,使用这些属性,服务不需要为不同的端点类型重新实现。 我们只是使用ASP.NET路由添加新的ServiceRoute ,它使用与绑定到URI / SOAP的SOAP相同的服务向URI / REST添加rest绑定。 现在我们正在寻找一些新的服务工作,我想继续使用OWIN,这样我们可以通过托管不可知论来实现我们的新服务,因为一些服务将更好地服务于Windows服务托管和一些更好的服务由IIS服务托管。 所有我都在摆弄东西,到目前为止,我无法获得由OWIN托管的SOAP端点。 通过使我的服务inheritance自ApiController ,然后在OWIN应用程序的Configuration方法中使用这一小段代码,我完成了其余的处理: public void Configuration(IAppBuilder app) { HttpConfiguration config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); app.UseWebApi(config); […]

如何在C#中创建SOAP / WSDL客户端?

我一直在用PHP玩它并得到一些工作,我做的是: $client = new SoapClient(“http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl”); $fetchedArr = $client->GetCityForecastByZIP(array(“ZIP” => “10451”)); //get the weather in the bronx YO! 现在我希望我的应用程序我WPF / C#也这样做。 c#中的等价物是什么?

收到SOAP xml响应但未填充响应对象

我向供应商基于Java的Web服务添加了“服务引用”,我无法控制。 我有这个简单的客户端代码: Client myClient = new Client(); CapabilitiesType response = client.GetCapabilities(new GetCapabilitiesType1()); myClient.Close(); litCapabilities.Text = response.version; 这会生成以下SOAP信封: 到目前为止很好,上面我从Trace Viewer得到了。 使用SoapUI和Trace Viewer,我可以validation我得到了正确的响应: EarthObservation ebRIM Catalogue A web-based catalogue service that implements the CSW-ebRIM profile of the OGC Catalogue 2.0 specification, and the EO Extension Package registry catalogue ebRIM earth observation urn:ogc:service:catalogue:csw-ebrim 2.0.2 NONE ServiceIdentification ServiceProvider OperationsMetadata […]

如何在WCF中更改SOAP Envelope架构?

我通过WCF连接到第三方端点,我有一个问题。 WCF生成的SOAP信封的模式与端点不兼容。 目前WCF正在生成: 但它必须是这样的: 我在soapUI中测试了这个以确认这是问题,但是如何在WCF中控制它? 我使用Visual Studio中的“添加服务引用”选项来生成服务。 有任何想法吗? 提前致谢。 安迪

我如何在c#中更改soap xml web服务?

我使用了webservice preferences cs代码。 我有soap xml web服务请求。 20180708 20180708 0 但我想改变这个,我怎么做c#? 谢谢。 20180708 20180708 0

NetSuite SuiteTalk – 从“SearchColumnSelectCustomField”中检索值字符串

我有一个小应用程序,它迭代“保存的搜索”的结果,从几个自定义列中检索值(简化示例): var results = searchResults.Select(a => new { X = ((SearchColumnBooleanCustomField)a.basic.customFieldList .First(b => b.scriptId == “custentityX”)).searchValue Y = ((SearchColumnDateCustomField)a.basic.customFieldList .First(b => b.scriptId == “custentityY”)).searchValue Z = ((SearchColumnSelectCustomField)a.basic.customFieldList .First(b => b.scriptId == “custentityZ”)).searchValue.name } 对于大多数返回的列类型,我得到一个与类型一致的值(bool / date / etc …)但是使用“SearchColumnSelectCustomField”我在返回的“searchValue.name”中没有得到任何值,它总是为null,但是始终填充“searchValue.internalID”列。 因此,出于某种原因,它获得了选择但没有返回该选择的值。 如何从SuiteTalk(“searchValue.name”)访问NetSuite界面中可以看到的文本值? 我是否必须执行另一个查询来检索与该internalID相关的所有值密钥对? 对于每个自定义领域? 如果是这样,那么名称字段的目的首先是什么? 我已经尝试过搜索这个,但是关于这个主题(或者一般来说是SuiteTalk)并没有真正的文档,在其他语言(PHP / Java)中,人们提到“getSelectValue”( 这里 ,简要地说),我可以在C#中尝试这个,但我不确定这些是否适用或者是否可以自定义值选择。 然后有一些参考来确定搜索之前的值, 这对我来说似乎有些过分,难道真的那么难吗? 我想在最终的应用程序中访问几十个CustomField。 似乎应该有一个更简单的方法……

Web服务请求调用SOAP请求缺少空参数

我是Web服务和C#的新手,所以如果我的问题太简单,请原谅我。 我已经四处搜索但找不到答案 – 至少有一个基于我的关键字。 我试图通过C#(Visual Web Developer 2010 Express)调用Web服务,但我收到错误作为响应。 当我通过soapUI调用相同的Web服务时,我没有收到错误。 当我将来自C#的SOAP请求与来自soapUI的SOAP请求进行比较时,C#SOAP请求缺少故意为空的参数 。 当我从soapUI请求中取出空参数时,我得到相同的错误。 对我来说,答案是让C#发送参数,即使它是空的。 我通过将其设置为null或“”来尝试此操作,但无济于事。 有没有办法强制我的C#Web服务客户端发送一个空参数或者可能发送所有参数,即使它们没有值? WSDL C#SOAP(不起作用) edmsdev my_acl spoonyfork my_password edmsdev soapUI SOAP(作品) edmsdev my_acl spoonyfork my_password edmsdev EDRSearch XSD C#代码 ServiceReference1.UserCredentials uc = new ServiceReference1.UserCredentials(); uc.userName = “spoonyfork”; uc.password = “my_password”; uc.docbase = “edmsdev”; ServiceReference1.ACLUsersRequest aurt = new ServiceReference1.ACLUsersRequest(); aurt.aclName = “my_acl”; […]

使用SOAP请求中的自定义字段实现WSSE安全标头时出现C#运行时错误

我正在尝试将SOAP请求发送到使用WSSE和UsernameToken进行身份validation的Web服务。 示例查询如下(屏蔽机密数据): abc 123 12345678901 我使用WSE 3.0生成了一个代理类,问题是我收到错误:“对象引用没有设置为对象的实例。” 我的C#代码中有问题的部分如下: queryNoSorguType q = new queryNoSorguType(); string query_parameter = query_no; q.queryNo = query_parameter; ResultType[] r = new ResultType[10]; UsernameToken token = new UsernameToken(“abc”, “123”,PasswordOption.SendPlainText); //mWebService.SetClientCredential(token); //Policy webServiceClientPolicy = new Policy(); mWebService.RequestSoapContext.Security.Tokens.Add(token); //mWebService.SetPolicy(webServiceClientPolicy); //r = mWebService.documentQuerybyQueryNo(q); System.Data.DataTable outputDataTable = new System.Data.DataTable(); //System.Data.DataRow outRow = outputDataTable.Rows.Add(); //outRow[“field1”] = r; output […]

WCF:EncryptedKey子句未包含所需的加密令牌’System.IdentityModel.Tokens.X509SecurityToken’

我正在尝试使用WCF客户端连接到基于Java的Web服务 证书我已经提供(自签名)在SOAPUI中完美地工作。 这是我的设置: 但是,我在使用WCF客户端时遇到问题。 我的app.config 使用Keystore Explorer我从JKS导出两个证书: public_test_hci_cert.cer test_soap_ui.p12 网络服务电话: var client = new Example_TestClient(); client.ClientCredentials.UserName.UserName = “user”; client.ClientCredentials.UserName.Password = “pass”; X509Certificate2 certClient = new X509Certificate2(certClientPath, certClientPassword); client.ClientCredentials.ClientCertificate.Certificate = certClient; X509Certificate2 certService= new X509Certificate2(certServicePath); client.ClientCredentials.ServiceCertificate.DefaultCertificate = certService; var response = client.Example_Test(requestObj); 请求完全到达服务器,但似乎WCF不理解响应,因为我得到此exception: “The EncryptedKey clause was not wrapped with the required encryption token ‘System.IdentityModel.Tokens.X509SecurityToken’.” at […]