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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python安装教程[通俗易懂]

    python安装教程[通俗易懂]python安装教程本章节我们将向大家介绍如何在本地搭建Python开发环境。Python可应用于多平台包括Linux和MacOSX。你可以通过终端窗口输入"python&

    2022年7月5日
    26
  • 如何配置adb环境变量(环境变量在哪打开)

    配置ADB环境变量1.1:打开控制面板>系统和安全>系统>高级系统设置1.2:在系统变量中新建ANDROID_HMOE变量,赋值路径(D:\install\androidSDK)1.3.在系统变量path中添加%ANDROID_HOME%\platform-tools1.4.cmd进入终端验证adb配置是否成功如下图显示为失败如下图显示为成功2.ADB常用指令2.1.查看设备adbdevices这个命令是查看当前连接的设备,连接到计算机的andro

    2022年4月11日
    35
  • Go 1 – 概览/安装

    Go 1 – 概览/安装安装包下载地址一安装Golang的SDK二配置环境变量三使用命令行调试参考文章地址网上有很多安装方法,比如通过homebrew来安装。这里是直接下载的安装包。安装包下载地址地址:https://golang.org/dl/一、安装Golang的SDK双击.tar文件,就会自动解压成名字为“go”的文件夹;拖拽到你的用户名下,记住路径;我的路径为:/Users/MelissaShu

    2022年10月11日
    4
  • jenkins备份和发布

    jenkins备份和发布ansible安装安装ansible依赖yum-yinstallepel-release安装ansibleyum-yinstallansibleansible配置参考jenkins使用ansible远端备份ansibleall-mshell-a”tar-czfcode.tar.gz.”2>/log/errorLog/tar_czvf.log

    2022年5月21日
    45
  • 怎么安装pycharm及环境变量配置_JRE环境配置

    怎么安装pycharm及环境变量配置_JRE环境配置pycharm安装以及其环境的配置说明此次我们使用win10系统安装pycharm的64位社区版,并且对Anaconda3中自带的Python3进行环境的配置,如果您没有Anaconda3甚至是没有Python3环境,可以参考Anaconda3安装教程及说明,如果您的pip源未更改,这里推荐您改为使用国内的pip源,这样可以更快的下载组件,方法见修改pip源至国内镜像网站。教程从开始菜单中找到你的AnacondaPrompt并打开…

    2022年8月25日
    9
  • matlab空间计量模型AIC和SC,空间计量模型[通俗易懂]

    matlab空间计量模型AIC和SC,空间计量模型[通俗易懂]回归分析中LMlag,LMerror后面的DFvaluefrob代表什么,哪一个是概率值?这个表的结论是所有的spatiallag都不显著,不要用spatialmodel,一般的OLS就行这一列(MI/DF这列)读下来就是Moran’sI的均值之类的东西(MI)等于-0.17,下面是各个LM检验的自由度,(LM检验是卡方分部所以有不同自由度)。第二列(value)是各个统计量的值,…

    2025年8月14日
    2

发表回复

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

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