标签: endpoint

使用https端点添加WCF服务引用

我的WCF服务应用程序通过http和https工作,但是,当我在客户端向其添加服务引用(使用https url)时,Visual Studio 2010将配置文件中的端点设置为http.它似乎并不像将配置端点更改为https那么简单,因为幕后有多个文件使用xsd进行操作并引用http端点.如何设置我的服务/客户端以强制https以便正确设置端点?

当我尝试手动更改配置文件中的端点并将安全模式设置为"传输"时,我收到此错误:

异常消息:https://myservice/AvailabilityService.svc上没有可以接受消息的端点监听 .这通常是由错误的地址或SOAP操作引起的.有关更多详细信息,请参阅InnerException(如果存在).

但是,我可以在IE中看到该端点,并在本地进行调试.在我使用https添加我的服务引用并搜索解决方案的http等效之后,它会找到一个引用http的wsdl文件,一个configuration.svcinfo和一个使用http url而不是https的configuration91.svcinfo

这是我的服务器端配置:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

..和客户端配置:

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IAvailabilityService" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
            maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
            useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="Transport">
            <transport clientCredentialType="None" proxyCredentialType="None"
                realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" …
Run Code Online (Sandbox Code Playgroud)

.net ssl https wcf endpoint

23
推荐指数
1
解决办法
6万
查看次数

使用Jax-WS端点发布WS

我构建了一个最小的Web服务,并使用javax.xml.ws.Endpoint发布它.如果我试图获得WSDL http://localhost:1234/AddService?wsdl它工作正常.

试图收到它http://192.168.0.133:1234/AddService?wsdl,我没有收到任何东西.该地址与localhost相同.

是否有可能在不提供地址的情况下发布网络服务?

package test;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class AddService {

    @WebMethod
    public int add(int a, int b){
        return a+b;
    }

    public static void main(String[] args ){
        Endpoint.publish("http://localhost:1234/AddService", new AddService());
    }
}
Run Code Online (Sandbox Code Playgroud)

将代码更改为

Endpoint.publish("http://192.168.0.133:1234/AddService", new AddService());
Run Code Online (Sandbox Code Playgroud)

获取IP地址上的wsdl但不是localhost.

是不是只有定义端口的可能性?

java web-services jax-ws endpoint

20
推荐指数
1
解决办法
3万
查看次数

设置音频端点设备应用特定(以编程方式)

链接到"反馈中心" 的错误报告


音频端点设备(此处称为"端点")是物理或虚拟音频输出或输入设备.


在Windows 10 April Update 1803中,引入了早该应用的"应用程序卷和设备首选项".这些设置允许更多地控制音频流管理,因为现在可以为不同的应用程序设置不同的端点,无论该特定应用程序是否带有端点选择.

但是,有一个问题是程序的音频(其端点是非默认的)在关闭并再次启动后通过默认端点(或根本不是)流式传输,尽管端点在设置中正确显示:

问题娱乐

据我所知,可以在具有任何虚拟或物理端点和受影响程序的Windows 10计算机(版本1803或更高版本)上重新创建该问题.我在这个例子中使用了"VLC媒体播放器"(忽略了它带有端点选择的事实),因为它是众所周知的并且可以广泛访问,这样可以更容易地重新创建问题.


我在寻找什么......

...是一种在端点之间切换的编程解决方案,理想情况下可以以脚本的形式启动,以通过应用程序启动设置正确的端点.

为了我的目的,只需手动调整设备实例路径就足够了,因为设备总是一样的,但我也不会抱怨从注册表中检索设备实例路径的解决方案.

  • 可以从密钥的子密钥中检索定义的端点和它们正在使用的设备的设备实例路径HKEY_USERS\# YOUR SID #\Software\Microsoft\Multimedia\Audio\DefaultEndpoint.我不知道windows如何生成子项的名称或它们可以在哪里找到.如果我不得不疯狂猜测,我会说这些是应用程序ID(如果我错了,请随时纠正我).
  • 设备管理器中可以找到设备实例路径(在"音频输入和输出"下双击所需的设备,导航到"详细信息"选项卡,然后从"属性"下拉菜单中选择"设备实例路径") .
  • 此外,Microsoft Docs中有关音频端点设备流管理的条目可能会有所帮助,但这远远超出我的想象.

一个可能但不切实际的解决方法......

...将为应用程序手动设置另一个端点,并在每次启动所述应用程序时切换回所需的端点(如上所示).

但是,不是每次启动都至少需要10秒,你甚至可能忘记这样做,因为音频可能只是通过默认端点流式传输.

后者的替代方案是,根本不会传输音频,或者在某些情况下它实际上是有效的.

例如:VLC媒体播放器,Tom Clancy的Rainbow Six Siege(虽然在启动画面期间音频将正确流式传输)

例如:使命召唤4:现代战争,使命召唤:现代战争2,使命召唤:现代战争3

例如:Window Media Player,Microsoft Edge,Firefox

意见

  • VLC Media Player附带端点选择,但TeamSpeak 3也是如此,与VLC不同,它完全跳过Windows设置.
  • "使命召唤"不会流式传输任何音频,因为我没有遇到任何其他类似的应用程序.
  • Windows Media Player,Microsoft Edge和Firefox是目前唯一可以正常运行的程序(我测试过).他们没有端点选择(我知道),并将在关闭并再次启动后使用正确的端点.但应注意,在调整端点时,Firefox和Microsoft Edge将在"应用程序卷和设备首选项"中显示多个实例.

放弃

我已经尝试了两个第三方软件:"音频路由器",它根本不起作用和"CheVolume",它不能解决问题并且在这样做时不断崩溃.

这个问题基于我在超级用户(这里)询问过的问题,由于我对实际编程缺乏了解,我无法得到答案(我对Batch和PowerShell只有一点熟悉) ).我很清楚,Stack Overflow和Super User都不是脚本编写服务,但是,这个问题没有得到Windows 10 10月更新1809的解决,我认为这是一个不仅影响我的问题,而且会影响我在我之后帮助多个人.如果您对此有不同看法,请随意撰写评论或提出修改建议.

我也不确定标签的"音频流"和"端点"是否应该在这种情况下使用,如果它们不应该或者你能想到更好的话,请提出编辑.



编辑 - 05/11/18

使用第三方软件'EarTrumpet'我能够克服"使命召唤"游戏的问题(重启后根本没有音频),但是,在我指定非默认端点后,"VLC媒体播放器"不会重启用'EarTrumpet'直到我再次关闭'EarTrumpet'并且'Tom Clancy的Rainbow Six Siege'的问题仍然存在. …

c++ audio endpoint audio-streaming windows-10

19
推荐指数
1
解决办法
917
查看次数

在Instagram API中使用min_id

事实上,我发现没有其他人在Instagram API中遇到这个问题,这表明我做错了.

如果我要输入:https://api.instagram.com/v1/users/334250900/media/recent/?client_id=xxx&min_id=678453535718114828_919796408并且678453535718114828_919796408是该用户的最新帖子ID,我应该什么也得不回来,对吧?

好吧,我没有.我收到一个帖子 - min_id参数中的一个.

文件说明:

MIN_ID - 于此min_id 返回媒体.

但行为似乎是将媒体更新或等同于此min_id.

如果我指定一个min_id是最近的第三篇文章,我应该回复两个帖子,但是不,我得到三个.

当然,我可以丢弃返回数组中的最后一个结果,或者做一些检查以确定我是否已经拥有它 - 但这有点违背了参数的目的.

只有我吗?

endpoint instagram instagram-api

18
推荐指数
0
解决办法
2353
查看次数

路由和端点之间的区别?

题:

我有一个可能相当简单的问题,但我无法找到带有很好解释的答案:

在/应用程序中开发的 RESTful API 上下文中的路由端点之间有什么区别(如果有的话)(但这些概念可能更广泛?!...)? (它是否以某种方式与 URL 相关?)Node.jsExpress


例子:

例如,在这篇文章中:https : //medium.com/@purposenigeria/build-a-restful-api-with-node-js-and-express-js-d7e59c7a3dfb我们可以读到:

我们导入了在课程开始时安装的 express,app.get 向服务器发出 get 请求,并提供路由/端点作为第一个参数,端点旨在返回数据库中的所有待办事项。

这些概念可以互换使用,这让我感到困惑。
(请注意,我是 REST API、nodejs 和 express 的 100% 初学者,但我会尽力学习)。

编辑
按时间顺序排列的前两个答案让我更加困惑,因为它们完全是对立的。

routes endpoint node.js

18
推荐指数
4
解决办法
9775
查看次数

无法从 sveltekit 骨架项目中的端点.js 访问 request.body

从 sveltekit 应用程序启动骨架项目后。我的索引有一种形式:

<script>
    let name
    let password

    async function submitit(){
       // console.log("name is :", name)
       // console.log("password is :", password)
       
     const doit = async () =>{
        let res = await fetch( 'formdata' ,{
        method : "post",
        headers: {        
        'Accept': 'application/json',
        'content-type' : 'text/html; charset=UTF-8',
        //'Content-Type': 'multipart/form-data'
        },
        body : JSON.stringify({
            name : "name",
            password : "password"
        })        
    })// fetch
    let results =await res.json()
    console.log( "xxxxxxxxxxxxxxxxxxxxx"    , results )
    return results
    }       

     doit().then(data =>{
         console.log("data log : " , data) …
Run Code Online (Sandbox Code Playgroud)

endpoint svelte sveltekit

18
推荐指数
2
解决办法
1万
查看次数

骆驼路线和终点

我一直在研究Apache Camel文档,试图对其最基本的两个概念(端点和路由)进行具体的理解,尽管这些术语在整个文档中随处可见,但我找不到实际定义它们的参考它们是用来做什么的.尽管他们的名字听起来相当明显,而且我我明白了它们是什么,但我现在已被分配到一项让我深入Apache Camel Land的任务,而且我理解这些机制至关重要是.

我的猜测是"端点"只是一个bean - 可以像配置文件一样配置在配置文件中 - 将名称映射到URI /端口组合(这取自W3C文档).在Apache Camel的上下文中,我的猜测是端点用于将组件连接在一起,因此可以在它们之间形成"路由"(连接/映射).因此,当生活在端点1的组件A想要与生活在端点2的组件B通信时,只要存在从1到2的映射,Camel就能够在这两者之间传输消息.

如果我错在这里,请阻止我并纠正我!

所以现在,我已经看到了可以在Java中配置路由的示例:

from("endpointA").routeId("someMessage").to("endpointB");
Run Code Online (Sandbox Code Playgroud)

我已经看到了可以在XML中配置路由的示例:

<route id="">
    <from .../>
    <to .../>
</route>
Run Code Online (Sandbox Code Playgroud)

这两种方法是配置路由,还是完全不同的概念?

最后,端点之间可以路由的消息格式是什么?例如,如果它必须是XML,那么这些路由消息的XSD /模式是什么?如果它必须是Java对象,那么哪些边界/限制适用于Camel可以发送的对象?

java routes apache-camel endpoint

17
推荐指数
1
解决办法
2万
查看次数

未找到端点 - WCF Web服务

我为我的WCF服务创建了2个端点.

它工作正常,basicHttpBinding但导致错误webHttpBinding.

错误=未找到端点.

运营合同定义

[OperationContract]
[WebInvoke(Method = "POST",
           BodyStyle = WebMessageBodyStyle.WrappedRequest,
           ResponseFormat = WebMessageFormat.Json)]
VINDescription CallADSWebMethod(string vin, string styleID);
Run Code Online (Sandbox Code Playgroud)

web.config:

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="Description7aBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
            <message clientCredentialType="UserName" algorithmSuite="Default"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://services.chromedata.com:80/Description/7a"
                binding="basicHttpBinding"
                bindingConfiguration="Description7aBinding"
                contract="description7a.Description7aPortType"
                name="Description7aPort"/>
    </client>
    <services>
      <service behaviorConfiguration="asmx" name="ADSChromeVINDecoder.Service">
        <endpoint name="httpEndPoint" 
                  address="" 
                  binding="basicHttpBinding"
                  contract="ADSChromeVINDecoder.IService"/> …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net wcf endpoint

14
推荐指数
1
解决办法
7万
查看次数

Apache Camel Endpoint注入直接路由"端点上没有可用的消费者"

我想使用Camel从ActiveMQ接收消息,然后根据消息内容(protobuf)向Twitter发送一条或多条消息.我编写了一个从路由中调用的bean,它使用注入将多个消息发送到"direct:xyz"端点.

但是,Camel在运行时抱怨:

2012-11-16 09:56:33,376 | WARN  | ication.twitter] | DirectProducer                   | 160 - org.apache.camel.camel-core - 2.10.2 | No consumers available on endpoint: Endpoint[direct://twitter] to process: Exchange[Message: hello world]
Run Code Online (Sandbox Code Playgroud)

如果我从bean内直接注入Twitter端点,它可以正常工作.但是,为了便于测试,简化配置等,我想将实际的Twitter配置分开,因此希望发送到单独的路由.

驼峰上下文配置如下: -

<camelContext id="NotificationTwitter"
    trace="false" xmlns="http://camel.apache.org/schema/blueprint">
    <dataFormats>
        <protobuf id="notificationProto" instanceClass="org.abc.schemas.protobuf.NotificationDef$NotificationMsg" />
    </dataFormats>

    <route id="TwitterPreparation">
        <from uri="activemq:notification.twitter" />
        <unmarshal ref="notificationProto" />
        <log logName="abc" loggingLevel="INFO"
            message="Twitter request received: ${body}" />
        <bean ref="NotificationTweeter" method="createTweets" />
    </route>

    <route id="Twitter">
        <from uri="direct:twitter" />
        <log logName="abc" loggingLevel="INFO"
            message="Tweeting: ${body}" />
        <to uri="twitter://timeline/user?consumerKey=itsasecret&amp;consumerSecret=itsasecret&amp;accessToken=itsasecret&amp;accessTokenSecret=itsasecret" />
    </route>
</camelContext>
Run Code Online (Sandbox Code Playgroud)

豆看起来像: - …

apache-camel endpoint blueprint

14
推荐指数
2
解决办法
3万
查看次数

Wireguard 配置文件中的 Endpoint 和 AllowedIPs 字段有什么区别?

我对 Wireguard 的理解是服务器和客户端的接口(虽然看起来听不清?)每个都有自己的.conf文件。例如,考虑以下.conf文件。

[Interface]
PrivateKey = some_key_1
Address = 10.193.130.174/16


[Peer]
PublicKey = some_key_2
PresharedKey = some_key_3
AllowedIPs = 10.129.130.1/32
Endpoint = 54.91.5.130:1952
Run Code Online (Sandbox Code Playgroud)

如何判断这是客户端.conf文件还是服务器文件(如果可能的话)?这可能是一个非常简单的问题,但是EndpointAllowedIPs字段之间的区别是[Peer]什么?我从CryptoKey Routing推断,一旦interface接收到一个数据包,它就会用interface私钥对其进行解密,并AllowedIPs根据所有信息检查发件人 IP peers,如果凭据实际上与peer它匹配,它就会接受它。在另一方面,如果interface想送它与它加密的数据包peer的公共密钥,但它是将其发送到Endpoint的或一个AllowedIPs

编辑 1:我确实使用man wg过,Endpoint但对我来说仍然模糊的定义。尽管如此,该AllowedIPs领域似乎更容易掌握。

编辑 2:经过进一步研究,我认为该AllowedIPs字段指定了对等方可用于接收流量或发送流量的 IP 地址。如果有人可以确认或更正这一点,我将不胜感激。

endpoint wireguard

14
推荐指数
1
解决办法
1万
查看次数