gpt4 book ai didi

java - 不支持的内容类型 :application/json in java webservice call

转载 作者:行者123 更新时间:2023-12-01 11:36:26 24 4
gpt4 key购买 nike

我可以使用 cxf 库设置内容类型,但我不知道如何设置授权 header 。每当我设置用户名和密码时,它都会设置授权 header 并对整个值进行编码并添加 Basic。我不想这样做。我想使用我提供的纯字符串添加授权 header 。请帮我解决这个问题。

AMPServices services = new AMPServices();
CoreXmlPort coreXmlPort = services.getAMPSoapService();
Client client = ClientProxy.getClient(coreXmlPort);

HTTPConduit httpConduit = (HTTPConduit) client.getConduit();

HTTPClientPolicy httpClientPolicy=httpConduit.getClient();
String contentType=httpClientPolicy.getContentType();
contentType="application/soap+xml; type=vnd.iShip.AMP.SOAP; charset=UTF-8";
httpClientPolicy.setContentType(contentType);

AuthorizationPolicy authorizationPolicy = new AuthorizationPolicy();
authorizationPolicy.setUserName("username");
authorizationPolicy.setPassword("password");

httpConduit.setAuthorization(authorizationPolicy);

它生成以下请求 xml。

POST https://api.iship.com/Root/Enterprises/Pitney%20Bowes/Progistics; HTTP/1.1
Content-Type: application/soap+xml; type=vnd.iShip.AMP.SOAP; charset=UTF-8
Accept: */*
Authorization: Basic aXNoaXAgcGIvd3NkZXZlbDowNzZhNjFjYTM5MDcxODAxODVjNWRkMjM2YTdkMzZhNGQ1ODg5OWFj
User-Agent: Apache CXF 3.1.0
Cache-Control: no-cache
Pragma: no-cache
Host: api.iship.com
Connection: keep-alive
Content-Length: 246

但我想要这种类型的请求

POST https://api.iship.com/Root/Enterprises/Pitney%20Bowes/Progistics; HTTP/1.1
Content-Type: application/soap+xml; type=vnd.iShip.AMP.SOAP; charset=UTF-8
Accept: */*
Authorization: username;password
User-Agent: Apache CXF 3.1.0
Cache-Control: no-cache
Pragma: no-cache
Host: api.iship.com
Connection: keep-alive
Content-Length: 246

但是我没能做到。请帮我解决这个问题。

谢谢,阿瓦亨德拉

最佳答案

我认为您尝试调用的是 RestFul 服务,因此这就是为什么服务器端总是以与您预期不同的内容类型进行响应(json 而不是soap/xml)。你的url端点是基于http协议(protocol)的吗?如果是,是否需要向该 url 发送额外的参数?

关于java - 不支持的内容类型 :application/json in java webservice call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com