java wsdl asmx 替换_WebService asmx生成的wsdl 修改 location

java wsdl asmx 替换_WebService asmx生成的wsdl 修改 locationC#中使用webservice接口的时候,返给服务器的IP地址是带上了端口号的。但是有时候不能要那个端口(比如用nginx做了转发),就需要在服务端处理一下(处理内容就是后面的代码)。此外,需要在配置文件中web.config中的system.web中添加一些东西:2.如果没有protocols中的内容的话,有可能post和get请求不能被正确识别(未做过验证,只是在博客园上看见过类似问题)。代码…

大家好,又见面了,我是你们的朋友全栈君。

C#中使用webservice接口的时候,返给服务器的IP地址是带上了端口号的。但是有时候不能要那个端口(比如用nginx做了转发),就需要在服务端处理一下(处理内容就是后面的代码)。此外,需要在配置文件中web.config中的system.web中添加一些东西:

2.如果没有protocols中的内容的话,有可能post和get请求不能被正确识别(未做过验证,只是在博客园上看见过类似问题)。

代码:

//———————————————————————–

//

// * Copyright (C)

// * version :

// * author  : ying83811

// * FileName: OuterPortReflector.cs

// * history : created by ying83811

//

//———————————————————————–

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Web.Services.Description;

namespace Better517Na.KoreaProductInterface.CommMethod

{

///

/// OuterPortReflector类

///

public class OuterPortReflector : SoapExtensionReflector

{

///

/// 重写ReflectMethod

///

public override void ReflectMethod()

{

}

///

/// 重写ReflectDescription

///

public override void ReflectDescription()

{

//  为了说明问题,这里直接把端口号写死了,建议写在配置文件中

string portNum = “8888”;

portNum = “:” + portNum;

ServiceDescription description = ReflectionContext.ServiceDescription;

foreach (Service service in description.Services)

{

foreach (Port port in service.Ports)

{

foreach (ServiceDescriptionFormatExtension extension in port.Extensions)

{

SoapAddressBinding binding = extension as SoapAddressBinding;

if (null != binding)

{

binding.Location = binding.Location.Replace(portNum, string.Empty);

}

else

{

HttpAddressBinding httpBinding = extension as HttpAddressBinding;

if (httpBinding != null)

{

binding.Location = “https://baidu.com”;

httpBinding.Location = httpBinding.Location.Replace(portNum, string.Empty);

}

else

{

binding.Location = “https://baidu.com”;

Soap12AddressBinding soap12Binding = extension as Soap12AddressBinding;

if (soap12Binding != null)

{

soap12Binding.Location = soap12Binding.Location.Replace(portNum, string.Empty);

}

}

}

}

}

}

}

}

}

b3d46e7ddfcf9c7654d188d0187cca89.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139642.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CListCtrl使用「建议收藏」

    CListCtrl使用「建议收藏」列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID)创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:•

    2022年6月23日
    31
  • dataframe loc iloc_python的isnull函数

    dataframe loc iloc_python的isnull函数关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据基本方法总结归纳及示例

    2022年8月30日
    2
  • IDEA导入maven项目详细介绍「建议收藏」

    IDEA导入maven项目详细介绍「建议收藏」一、项目结构注意,.classpath是eclipse特有文件,如果项目会使用eclipse打开,请不要删除。二、导入项目1、打开Idea编辑器2、导入项目点击ImportProject按钮,界面如下注意,我们是导入maven项目,因此项目根目录下一定存在相对应的maven配置Pom.xml文件,点击OK,继续下一步。3、选择导入的项目类型…

    2022年6月16日
    166
  • 2019-10-30-C#-dotnet-core-局域网组播方法「建议收藏」

    2019-10-30-C#-dotnet-core-局域网组播方法「建议收藏」titleauthordateCreateTimecategoriesC#dotnetcore局域网组播方法lindexi2019-10-309:0:48+08002019-10-2912:2:46+0800dotnetC#我在微软官网找到了用…

    2022年6月30日
    24
  • 同时安装wps和office怎样默认office打开_wps表格合并多个文件

    同时安装wps和office怎样默认office打开_wps表格合并多个文件MicrosoftOffice是微软公司的一款办公软件,学习工作中的必备工具。WPS则是由金山推出的新兴免费国产办公软件,也非常的好用,可以手机、平板、电脑三端同步。WPS的功能相对可能会较多,用户群体学生党偏多。但是MicrosoftOffice毕竟是老牌办公软件,商务人士一般使用较多,很多场合下若是有软件要求,基本都会选择需要使用MicrosoftOffice。而且WPS和Office之间相互转换的话,也会有可能出现问题。那么,很多人的电脑上都会同时安装这两款软件。如果我们电脑同时安装了WPS

    2022年10月14日
    4
  • 数据库的概念模型,联系,E-R模型的设计方法「建议收藏」

    概念模型的基本概念:表示概念模型的最常用模型是实体-联系模型(Entity-RelationshipModel,简称E-R模型)E-R模型中,数据的结构被表示为“实体-联系”图。(E-R图)图中有三个主要的元素类型:实体集,属性和联系。联系:两个实体集之间的联系可归纳为以下三类:1)一对一联系(1:1) 2)一对多联系(1:n)和多对一联系(n:1)3)多对多联…

    2022年4月11日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号