FedEx 网络集成错误代码 9004
FedEx web Integration ERROR CODE 9004
我正在尝试将 FedEx 的跟踪服务集成到我的网络应用程序中,但我一直收到此错误..
Severity: FAILURE
Source: prxy
Code: 9004
Message:
Remote EJB method: track not called. Unable to create the remote bean.
Exception: javax.naming.NamingException: unable to find primary
representative [Root exception is javax.naming.NamingException: unable
to find primary representative]. Cause: javax.naming.NamingException:
unable to find primary representative [Root exception is
javax.naming.NamingException: unable to find primary representative]
请求
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/track/v10"><SOAP-ENV:Body><ns1:TrackRequest> <ns1:WebAuthenticationDetail><ns1:ParentCredential><ns1:Key>#########</ns1:Key><ns1:Password>###########</ns1:Password></ns1:ParentCredential><ns1:UserCredential><ns1:Key>#############</ns1:Key><ns1:Password>###########</ns1:Password></ns1:UserCredential></ns1:WebAuthenticationDetail><ns1:ClientDetail><ns1:AccountNumber>#########</ns1:AccountNumber><ns1:MeterNumber>###########</ns1:MeterNumber></ns1:ClientDetail><ns1:TransactionDetail><ns1:CustomerTransactionId>*** Track using PHP ***</ns1:CustomerTransactionId></ns1:TransactionDetail><ns1:Version><ns1:ServiceId>trck</ns1:ServiceId><ns1:Major>10</ns1:Major><ns1:Intermediate>0</ns1:Intermediate><ns1:Minor>0</ns1:Minor></ns1:Version><ns1:SelectionDetails><ns1:PackageIdentifier> <ns1:Type>TRACKING_NUMBER_OR_DOORTAG</ns1:Type><ns1:Value>449044304137821</ns1:Value></ns1:PackageIdentifier><ns1:ShipmentAccountNumber>########</ns1:ShipmentAccountNumber> </ns1:SelectionDetails></ns1:TrackRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
回应
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><TrackReply xmlns="http://fedex.com/ws/track/v10"><HighestSeverity>FAILURE</HighestSeverity><Notifications><Severity>FAILURE</Severity><Source>prxy</Source><Code>9004</Code><Message>Remote EJB method: track not called. Unable to create the remote bean. Exception: javax.naming.NamingException: unable to find primary representative [Root exception is javax.naming.NamingException: unable to find primary representative]. Cause: javax.naming.NamingException: unable to find primary representative [Root exception is javax.naming.NamingException: unable to find primary representative]</Message></Notifications></TrackReply></SOAP-ENV:Body></SOAP-ENV:Envelope>
我正在使用 Laravel 框架,此 Fedex 集成使用了三个文件,即 TrackService_v10.wsdl,其中包含 XML 数据、TrackWebServiceClient。php5其中包含发送请求的 php 函数和 fedex-common.php5,其中还包含 php 函数,其中包含对 post.
的输入
我试过在 Internet 和 FedEx 上的开发者和资源中心到处寻找,但我真的无法让它工作。我也不明白这个 SOAP 请求。另外,FedEx 说他们没有程序员来帮我解决这个问题。有人可以帮忙吗?提前致谢。
我一直遇到完全相同的问题。在我的头在桌子上敲了几个小时之后,我遇到了这个 post - 。它属于 WSDL 文件的 v5(当前为 10),但基本上您需要从第 2296 行的 URL 中删除 "beta"。
<service name="TrackService">
<port name="TrackServicePort" binding="ns:TrackServiceSoapBinding">
<s1:address location="https://wsbeta.fedex.com:443/web-services/track"/>
</port>
</service>
应该是
<service name="TrackService">
<port name="TrackServicePort" binding="ns:TrackServiceSoapBinding">
<s1:address location="https://ws.fedex.com:443/web-services/track"/>
</port>
</service>
一切都会(应该)神奇地开始工作。希望这对你和我一样有帮助!
删除 beta
似乎不再是好的解决方案。
我已经联系了 Fedex 支持,当您设置无效 "ParentCredentials" 时,问题实际上就出现了。
在我的例子中,我只需要使用 "UserCredential",如果在 Fedex 提供的 (Java) 示例中为空,"ParentCredentials" 设置为 "XXX"。
我正在尝试将 FedEx 的跟踪服务集成到我的网络应用程序中,但我一直收到此错误..
Severity: FAILURE
Source: prxy
Code: 9004
Message: Remote EJB method: track not called. Unable to create the remote bean. Exception: javax.naming.NamingException: unable to find primary representative [Root exception is javax.naming.NamingException: unable to find primary representative]. Cause: javax.naming.NamingException: unable to find primary representative [Root exception is javax.naming.NamingException: unable to find primary representative]
请求
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/track/v10"><SOAP-ENV:Body><ns1:TrackRequest> <ns1:WebAuthenticationDetail><ns1:ParentCredential><ns1:Key>#########</ns1:Key><ns1:Password>###########</ns1:Password></ns1:ParentCredential><ns1:UserCredential><ns1:Key>#############</ns1:Key><ns1:Password>###########</ns1:Password></ns1:UserCredential></ns1:WebAuthenticationDetail><ns1:ClientDetail><ns1:AccountNumber>#########</ns1:AccountNumber><ns1:MeterNumber>###########</ns1:MeterNumber></ns1:ClientDetail><ns1:TransactionDetail><ns1:CustomerTransactionId>*** Track using PHP ***</ns1:CustomerTransactionId></ns1:TransactionDetail><ns1:Version><ns1:ServiceId>trck</ns1:ServiceId><ns1:Major>10</ns1:Major><ns1:Intermediate>0</ns1:Intermediate><ns1:Minor>0</ns1:Minor></ns1:Version><ns1:SelectionDetails><ns1:PackageIdentifier> <ns1:Type>TRACKING_NUMBER_OR_DOORTAG</ns1:Type><ns1:Value>449044304137821</ns1:Value></ns1:PackageIdentifier><ns1:ShipmentAccountNumber>########</ns1:ShipmentAccountNumber> </ns1:SelectionDetails></ns1:TrackRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
回应
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><TrackReply xmlns="http://fedex.com/ws/track/v10"><HighestSeverity>FAILURE</HighestSeverity><Notifications><Severity>FAILURE</Severity><Source>prxy</Source><Code>9004</Code><Message>Remote EJB method: track not called. Unable to create the remote bean. Exception: javax.naming.NamingException: unable to find primary representative [Root exception is javax.naming.NamingException: unable to find primary representative]. Cause: javax.naming.NamingException: unable to find primary representative [Root exception is javax.naming.NamingException: unable to find primary representative]</Message></Notifications></TrackReply></SOAP-ENV:Body></SOAP-ENV:Envelope>
我正在使用 Laravel 框架,此 Fedex 集成使用了三个文件,即 TrackService_v10.wsdl,其中包含 XML 数据、TrackWebServiceClient。php5其中包含发送请求的 php 函数和 fedex-common.php5,其中还包含 php 函数,其中包含对 post.
的输入我试过在 Internet 和 FedEx 上的开发者和资源中心到处寻找,但我真的无法让它工作。我也不明白这个 SOAP 请求。另外,FedEx 说他们没有程序员来帮我解决这个问题。有人可以帮忙吗?提前致谢。
我一直遇到完全相同的问题。在我的头在桌子上敲了几个小时之后,我遇到了这个 post - 。它属于 WSDL 文件的 v5(当前为 10),但基本上您需要从第 2296 行的 URL 中删除 "beta"。
<service name="TrackService">
<port name="TrackServicePort" binding="ns:TrackServiceSoapBinding">
<s1:address location="https://wsbeta.fedex.com:443/web-services/track"/>
</port>
</service>
应该是
<service name="TrackService">
<port name="TrackServicePort" binding="ns:TrackServiceSoapBinding">
<s1:address location="https://ws.fedex.com:443/web-services/track"/>
</port>
</service>
一切都会(应该)神奇地开始工作。希望这对你和我一样有帮助!
删除 beta
似乎不再是好的解决方案。
我已经联系了 Fedex 支持,当您设置无效 "ParentCredentials" 时,问题实际上就出现了。
在我的例子中,我只需要使用 "UserCredential",如果在 Fedex 提供的 (Java) 示例中为空,"ParentCredentials" 设置为 "XXX"。