Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 来自BizTalk WCF自定义适配器的第一个请求未经过预验证_Apache_Wcf_Axis2_Biztalk - Fatal编程技术网

Apache 来自BizTalk WCF自定义适配器的第一个请求未经过预验证

Apache 来自BizTalk WCF自定义适配器的第一个请求未经过预验证,apache,wcf,axis2,biztalk,Apache,Wcf,Axis2,Biztalk,我使用wsHttpBinding(也称为basicHttp)从WCF自定义适配器发送的第一个请求(或一批请求)不包括授权标头 请求1标题 POST https://axis2service.com/HttpSoap12Endpoint/ HTTP/1.1 Content-Type: application/soap+xml; charset=utf-8 Host: axis2service.com Content-Length: 556 Expect: 100-continue Accept-E

我使用wsHttpBinding(也称为basicHttp)从WCF自定义适配器发送的第一个请求(或一批请求)不包括授权标头

请求1标题

POST https://axis2service.com/HttpSoap12Endpoint/ HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Host: axis2service.com
Content-Length: 556
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
POST https://axis2service.com/HttpSoap12Endpoint/ HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Authorization: Basic XXXXXX
Host: axis2service.com
Content-Length: 556
Expect: 100-continue
Accept-Encoding: gzip, deflate
该服务返回一个401,我用下面的代码对其进行响应

请求2个标题

POST https://axis2service.com/HttpSoap12Endpoint/ HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Host: axis2service.com
Content-Length: 556
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
POST https://axis2service.com/HttpSoap12Endpoint/ HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Authorization: Basic XXXXXX
Host: axis2service.com
Content-Length: 556
Expect: 100-continue
Accept-Encoding: gzip, deflate
apache上的axis2服务通过504和连接响应:close

这似乎是一个问题,如何使请求1每次都包含授权标头


注意:只有在主机实例重新启动后的第一个请求中才会发送请求1标头。来自适配器的所有后续请求都使用request 2头,因此绕过了握手阶段。

本文引用了HTTP适配器,但我记得适配器与批处理中的>1消息有轻微的行为差异。无论如何……试着设置订单交货,看看会发生什么。@boatseller订单交货没有什么区别。我有一个解决方法:将重试间隔设置为0仍然会为第一条消息提供401和504,但会在消息头之后直接重试。这是令人满意的,但并不理想。