问题标签 [sap-xi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sharepoint - 如何通过 SAP PI 集成 SAP 和 SharePoint?
我对 SAP 不熟悉,但我最近的项目是通过 SAP PI 将 SAP 和 SharePoint Portal 结合起来;SAP PI 将用于自动化 SAP 和 SharePoint Portal 之间的数据流...我在 Web 上没有找到足够有价值的信息。有人可以给我一些想法,或者告诉我在哪里可以找到这种信息?
logging - 有没有办法拦截来自 SAP PI 的出站消息?
有什么方法可以拦截来自 SAP NetWeaver PI 7.1 和 7.3 的传出消息?最好的选择是在将消息转换为特定协议的表示之前(即在从 XML 转换为 SOAP/RFC/等之前)。
web-services - 对 SAP PI 服务进行匿名身份验证的未经授权的 HTTP 请求
我有一个来自我们客户公司的 .WSDL 文件,我需要使用它来调用 Web 服务。他们的系统是 SAP (SAP PI)。我的应用程序是在 VS 2008 中开发的 C# .NET 3.5 客户端。我使用他们提供的 .WSDL 文件在 Visual Studio 中添加了服务参考。这为我创建了一个引用类来调用他们的服务,并为我在 app.config 文件中设置了几个绑定。
我没有更改 app.config 文件中的任何内容,但确实创建了代码来调用他们的 Web 服务。但是,当我调用他们的网络服务时,我收到以下异常:
HTTP 请求未经客户端身份验证方案“匿名”授权。从服务器收到的身份验证标头是“Basic realm="SAP NetWeaver Application Server ..."”。
(我稍微修改了“基本领域”部分中使用的字符串,以免泄露。)
app.config 没有从 WSDL 正确构建吗?我应该以某种方式修改 app.config 文件吗?
我尝试过的事情:
- 将 app.config 中的 authenticationScheme 从 Anonymous 更改为 Basic
(以及所有其他身份验证类型) - 更改 app.config 中的领域字符串以匹配异常消息中的领域
- 在我的代码中的 ClientCredentials.Username 对象中设置用户名/密码字段
任何指示或帮助将不胜感激。
编辑:经过更多调查,我发现 Visual Studio 有几个关于扩展元素 Policy 和 Policy 断言的警告:
- 自定义工具警告:未处理命名空间“http://schemas.xmlsoap.org/ws/2004/09/policy”中的可选 WSDL 扩展元素“策略”。
- 自定义工具警告:未导入以下策略断言:
XPath://wsdl:definitions[@targetNamespace='urn:sap-com:document:sap:rfc:functions']/wsdl:binding[@name='Binding_FieldValidation' ] 断言:...
我无法确定这是否与我当前的身份验证方案问题有关。它似乎确实是相关的,但我也找不到任何解决方案来解决这些政策警告。似乎 WCF 不能很好地处理 wsdl 中的语句。
xml - 我是否需要 SSL 证书才能将 XML 消息发送到 SAP PI?
我正在创建一个应用程序,它将一个 xml 文件发布到最初为旧应用程序创建的 SAP PI 接口。我有端点 URL 以及所有参数,例如;服务、命名空间、接口、qos。
我也有用户名和密码。今天我对 SAP PI 的 DEV 实例进行了第一次测试调用,并收到 SSL 证书错误。
为了发布到 SAP PI 接口,我的应用程序需要 SSL 证书是否正确?
我在理论上是否应该尝试复制 XML 文件并使用与旧应用程序完全相同的界面?
php - SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://schemas.xmlsoap.org/ws/2004/09/policy' 在 PHP SoapClient 中调用 SAP PI
我正在尝试实现在 SAP PI 系统上运行的 Web 服务。我得到的 WSDL 如下所示:
我的 PHP 文件看起来像这样(目前没有更多内容):
当我运行我的脚本时,我收到以下错误:
致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://schemas.xmlsoap.org/ws/2004/09/policy' in /srv/www/htdocs/wsdl。 php:2 堆栈跟踪:#0 /srv/www/htdocs/wsdl.php(2): SoapClient->SoapClient('test.wsdl') #1 {main} 抛出 /srv/www/htdocs/wsdl.php在第 2 行
我尝试在 Google 和 Stack Overflow 上搜索错误,还检查了 php.net 上的评论,但我似乎无法弄清楚我必须更改什么才能运行此服务。我也尝试打开 WSDL 扩展 URL,它似乎存在。
有人可以在这里扔我一根骨头吗?我尝试删除扩展 URL,导致以下错误:
致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR: Parsing WSDL: Unexpected WSDL element in /srv/www/htdocs/wsdl.php:2 堆栈跟踪:#0 /srv/www/htdocs/wsdl.php(2 ): SoapClient->SoapClient('test.wsdl') #1 {main} 在第 2 行的 /srv/www/htdocs/wsdl.php 中抛出
java - 在 PI java 映射中使用 Base64 有效负载从 url 获取 pdf 文件
我能够从 URL 获取 PDF 文件,将流编码为 base 64 并将字符串发送给 XML 文件字段中的第三方,但是当我尝试打开 PDF 文件解码时遇到下一个问题。
无法提取嵌入字体“ArialMT,Bold”。某些字符可能无法正确显示或打印。
以下是 SAP PI 7.1 中 Java 映射的代码:
InputStreamReader
我已经读到,由于字母的版权,执行 an 时无法检索字体。这是真的吗?
之后是否有其他可能使用 iText 库或类似库嵌入字体?
c# - 在调用 SAP PI Web 服务时,HTTP 请求未经客户端身份验证方案“Ntlm”授权
我目前正在创建一个 .net C# 服务,该服务使用 web 服务调用将信息从 CRM 2011 发送到 SAP。
凭证如下:
我得到的错误是:
{System.ServiceModel.Security.MessageSecurityException:HTTP 请求未经客户端身份验证方案“Ntlm”授权。从服务器收到的身份验证标头是“Basic realm="Upload Protected Area"”。---> System.Net.WebException:远程服务器返回错误:(401)未经授权。在 System.Net.HttpWebRequest.GetResponse() 在 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) --- 内部异常堆栈跟踪结束 ---
非常感谢解决此问题以及尽可能使其动态化的任何帮助。
提前谢谢你。
c# - 从 .NET 调用 SAP PI 端点时出现“无法识别的消息版本”
我正在使用一个webserviceinvoking
类从带有 C# 服务的 .NET 调用 SAP PI。
我正在使用以下方法来做到这一点:
但是,调用它会给我一个无法识别的消息版本。例外:
Wireshark XML 输出到 web 服务:
任何帮助深表感谢。
jakarta-ee - 在 SAP PI 中使用代理会导致 org.w3c.www.protocol.http.httpexception 连接超时
我想在独立应用程序中使用代理。我在应用程序中编写了以下代码。
我们有以下java错误。
我的应用程序在 SAP PI 上运行。如何为独立应用程序使用代理?
java - 调用 PI 服务时解析 SOAP 标头时出错
我必须用 SOAP 调用 Web 服务。我用 Java 制作了一个客户端,它产生以下 SOAPMessage:
当我在应用程序中调用它时,该调用会在解析 SOAP 期间产生错误:
但是,当我使用具有 SOAP UI 的同一台计算机调用它时,Web 服务响应良好。我的应用程序中的客户端是这样制作的:
我检查了标题和身份验证,这是正确的。如果我更改用户或密码,Webservice 会使用 401 Unauthorized 响应,所以我认为标头已按预期发送。
您对导致我的应用程序内部错误的原因有任何线索吗?