2013-07-29 74 views
0

我正在嘗試將XML源作爲字符串發送到託管在SSL服務器上的REST服務。在過去的幾個月裏,我一直在爲客戶拉我的頭髮,他們說他們在他們的系統和外部工作,所以它必須是我們的服務器或我們的腳本,就他們而言。cURL SSL請求失敗

這是PHP腳本。

<?php 

    $endURI  = 'https://****.****.com/Service.svc/CreateProject'; 

    function curlRequest($uri, $data = false) 
    { 
     $ch = curl_init(); 

     //curl_setopt($ch, CURLOPT_HEADER, true); 
     curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
     curl_setopt($ch, CURLOPT_VERBOSE, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

     curl_setopt($ch, CURLOPT_URL, $uri); 

     if($data) 
     { 
      curl_setopt($ch, CURLOPT_POST, true); 
      curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
     } 

     $response = curl_exec($ch); 

     if($response) 
     { 
      echo $response; 
     } 
     else 
     { 
      echo 'Error Code (' . curl_errno($ch) . '): ' . curl_error($ch); 
      echo '<pre>'; 
      var_dump(curl_getinfo($ch)); 
      echo '</pre>'; 
     } 

     curl_close($ch); 
    } 

    if($_POST['data']) 
    { 
     curlRequest($endURI, simplexml_load_string($_POST['data'])); 
    } 

?> 

返回的錯誤並不是很有幫助,但我相信由於錯誤的上下文,這是錯誤的。

The server encountered an error processing the request. See server logs for more details. 

我會列出XML文件,以防萬一有任何幫助,但我懷疑它。這只是測試數據,因此根本不敏感。

<?xml version="1.0" encoding="utf-8"?> 
<CreateProjectRequest> 
    <RequestHeader> 
    <VendorKey>****</VendorKey> 
    <Password>****</Password> 
    <CorrelationID>****</CorrelationID> 
    <QoS>QoS1</QoS> 
    </RequestHeader> 
    <RequestBody> 
    <Project ClientID="ClientID1" SourceID="SourceID1"> 
     <ProjectName>ProjectName1</ProjectName> 
     <BusinessUnit>HPE (BE)</BusinessUnit> 
     <LegalEntity>LegalEntity1</LegalEntity> 
     <ProjectStart>1900-01-01</ProjectStart> 
     <ProjectEnd>1900-01-01</ProjectEnd> 
     <ProjectStatus>Active</ProjectStatus> 
     <ExpectedPaymentDatePeriod>Jan-Mar</ExpectedPaymentDatePeriod> 
     <ExpectedPaymentDateYear>2012</ExpectedPaymentDateYear> 
     <PaymentCurrency>EUR - Euro Member Countries</PaymentCurrency> 
     <SupportingSupplements>Yes</SupportingSupplements> 
     <Revisions>Yes</Revisions> 
     <ForeignLanguageTranslations>Yes</ForeignLanguageTranslations> 
     <NumberOfEditions>This and Subsequent Editions</NumberOfEditions> 
     <PromotionalUse>Right to Display in context Project/Title - All Media</PromotionalUse> 
     <Derivatives>Yes</Derivatives> 
     <DerivativeSubcategory>Abridgements</DerivativeSubcategory> 
     <DerivativeSubcategory>Adaptations</DerivativeSubcategory> 
     <DerivativeSubcategory>Brief Editions</DerivativeSubcategory> 
     <AllMedia>Yes</AllMedia> 
     <Print>Yes</Print> 
     <Digital>Yes</Digital> 
     <WorldRights>Yes</WorldRights> 
     <WorldRightsExcludingNAmerica>Yes</WorldRightsExcludingNAmerica> 
     <NonWorldRights>Yes</NonWorldRights> 
     <TerritoriesOthers>TerritoriesOthers1</TerritoriesOthers> 
     <LanguageAll>Yes</LanguageAll> 
     <LanguageOthers>LanguageOthers1</LanguageOthers> 
     <TitleList> 
     <Title ClientID="ClientID1" SourceID="SourceID1"> 
      <Title>Title1</Title> 
      <SeriesTitle>SeriesTitle1</SeriesTitle> 
      <Authors>Authors1</Authors> 
      <PubDate>1900-01-01</PubDate> 
      <EditionNo>EditionNo1</EditionNo> 
      <ContentType>Audio</ContentType> 
      <IdentifierType>ISBN 13</IdentifierType> 
      <Identifier>Identifier1</Identifier> 
     </Title> 
     <Title ClientID="ClientID2" SourceID="SourceID2"> 
      <Title>Title2</Title> 
      <SeriesTitle>SeriesTitle2</SeriesTitle> 
      <Authors>Authors2</Authors> 
      <PubDate>0001-01-01</PubDate> 
      <EditionNo>EditionNo2</EditionNo> 
      <ContentType>Book</ContentType> 
      <IdentifierType>Product Code</IdentifierType> 
      <Identifier>Identifier2</Identifier> 
     </Title> 
     <Title ClientID="ClientID3" SourceID="SourceID3"> 
      <Title>Title3</Title> 
      <SeriesTitle>SeriesTitle3</SeriesTitle> 
      <Authors>Authors3</Authors> 
      <PubDate>9999-12-31</PubDate> 
      <EditionNo>EditionNo3</EditionNo> 
      <ContentType>CD-ROM</ContentType> 
      <IdentifierType>ISBN 13</IdentifierType> 
      <Identifier>Identifier3</Identifier> 
     </Title> 
     </TitleList> 
     <AssetList> 
     <Asset ClientID="ClientID1" SourceID="SourceID1"> 
      <ContentClass>Audio</ContentClass> 
      <ContentType>Activity</ContentType> 
      <CaptionDesc>CaptionDesc1</CaptionDesc> 
      <SourceName>SourceName1</SourceName> 
      <SourceAssetID>SourceAssetID1</SourceAssetID> 
      <CreditLine>CreditLine1</CreditLine> 
      <PearsonReferenceNo>PearsonReferenceNo1</PearsonReferenceNo> 
      <PermissionEditor>PermissionEditor1</PermissionEditor> 
      <CopyrightName>CopyrightName1</CopyrightName> 
      <Placement>All</Placement> 
      <CurrencyCode>EUR - Euro Member Countries</CurrencyCode> 
      <Pricing>Pricing1</Pricing> 
      <PreviouslyClearedbyPearson>Yes</PreviouslyClearedbyPearson> 
      <PearsonProductIdentifier>PearsonProductIdentifier1</PearsonProductIdentifier> 
      <SubscriptionDeal>Yes</SubscriptionDeal> 
      <Ownership>Ownership1</Ownership> 
      <RightsClass>Pearson Wholly Owned</RightsClass> 
      <ReuseStatus>Re-use prohibited</ReuseStatus> 
      <LicenseExpDate>1900-01-01</LicenseExpDate> 
      <LocationRelease>Obtained</LocationRelease> 
      <PerformanceRelease>Obtained</PerformanceRelease> 
      <ModelRelease>Obtained</ModelRelease> 
      <RightsAsRequested>Yes</RightsAsRequested> 
      <FormatAsRequested>Yes</FormatAsRequested> 
      <TerritoriesAsRequested>Yes</TerritoriesAsRequested> 
      <LanguageAsRequested>Yes</LanguageAsRequested> 
      <SupportingSupplements>Yes</SupportingSupplements> 
      <Revisions>Yes</Revisions> 
      <ForeignLanguageTranslations>Yes</ForeignLanguageTranslations> 
      <NumberOfEditions>This and Subsequent Editions</NumberOfEditions> 
      <PromotionalUse>Right to Display in context Project/Title - All Media</PromotionalUse> 
      <Derivatives>Yes</Derivatives> 
      <DerivativeSubcategory>Abridgements</DerivativeSubcategory> 
      <DerivativeSubcategory>Adaptations</DerivativeSubcategory> 
      <DerivativeSubcategory>Brief Editions</DerivativeSubcategory> 
      <AllMedia>Yes</AllMedia> 
      <AllMediaQuantity>AllMediaQuantity1</AllMediaQuantity> 
      <Print>Yes</Print> 
      <PrintQuantity>PrintQuantity1</PrintQuantity> 
      <Digital>Yes</Digital> 
      <DigitalQuantity>DigitalQuantity1</DigitalQuantity> 
      <WorldRights>Yes</WorldRights> 
      <WorldRightsExcludingNAmerica>Yes</WorldRightsExcludingNAmerica> 
      <NonWorldRights>Yes</NonWorldRights> 
      <OtherTerritories>OtherTerritories1</OtherTerritories> 
      <AllLanguages>Yes</AllLanguages> 
      <OtherLanguages>OtherLanguages1</OtherLanguages> 
      <RightsRestrictions>RightsRestrictions1</RightsRestrictions> 
      <GeneralComments>GeneralComments1</GeneralComments> 
      <PermissionCleared>Yes</PermissionCleared> 
      <TitleReferences> 
      <TitleRef ClientID="ClientID1" /> 
      <TitleRef ClientID="ClientID2" /> 
      <TitleRef ClientID="ClientID3" /> 
      </TitleReferences> 
     </Asset> 
     <Asset ClientID="ClientID2" SourceID="SourceID2"> 
      <ContentClass>Image</ContentClass> 
      <ContentType>Advertisement</ContentType> 
      <CaptionDesc>CaptionDesc2</CaptionDesc> 
      <SourceName>SourceName2</SourceName> 
      <SourceAssetID>SourceAssetID2</SourceAssetID> 
      <CreditLine>CreditLine2</CreditLine> 
      <PearsonReferenceNo>PearsonReferenceNo2</PearsonReferenceNo> 
      <PermissionEditor>PermissionEditor2</PermissionEditor> 
      <CopyrightName>CopyrightName2</CopyrightName> 
      <Placement>Cover</Placement> 
      <CurrencyCode>HKD - Hong Kong Dollar</CurrencyCode> 
      <Pricing>Pricing2</Pricing> 
      <PreviouslyClearedbyPearson>No</PreviouslyClearedbyPearson> 
      <PearsonProductIdentifier>PearsonProductIdentifier2</PearsonProductIdentifier> 
      <SubscriptionDeal>No</SubscriptionDeal> 
      <Ownership>Ownership2</Ownership> 
      <RightsClass>Rights Manged</RightsClass> 
      <ReuseStatus>Re-use permitted with clearance</ReuseStatus> 
      <LicenseExpDate>0001-01-01</LicenseExpDate> 
      <LocationRelease>Not Obtained</LocationRelease> 
      <PerformanceRelease>Not Obtained</PerformanceRelease> 
      <ModelRelease>Not Obtained</ModelRelease> 
      <RightsAsRequested>No</RightsAsRequested> 
      <FormatAsRequested>No</FormatAsRequested> 
      <TerritoriesAsRequested>No</TerritoriesAsRequested> 
      <LanguageAsRequested>No</LanguageAsRequested> 
      <SupportingSupplements>No</SupportingSupplements> 
      <Revisions>No</Revisions> 
      <ForeignLanguageTranslations>No</ForeignLanguageTranslations> 
      <NumberOfEditions>This Edition only</NumberOfEditions> 
      <PromotionalUse>Right to Display in context Project/Title - Digitial</PromotionalUse> 
      <Derivatives>No</Derivatives> 
      <DerivativeSubcategory>Custom Versions</DerivativeSubcategory> 
      <DerivativeSubcategory>Split Editions</DerivativeSubcategory> 
      <DerivativeSubcategory>Versions</DerivativeSubcategory> 
      <AllMedia>No</AllMedia> 
      <AllMediaQuantity>AllMediaQuantity2</AllMediaQuantity> 
      <Print>No</Print> 
      <PrintQuantity>PrintQuantity2</PrintQuantity> 
      <Digital>No</Digital> 
      <DigitalQuantity>DigitalQuantity2</DigitalQuantity> 
      <WorldRights>No</WorldRights> 
      <WorldRightsExcludingNAmerica>No</WorldRightsExcludingNAmerica> 
      <NonWorldRights>No</NonWorldRights> 
      <OtherTerritories>OtherTerritories2</OtherTerritories> 
      <AllLanguages>No</AllLanguages> 
      <OtherLanguages>OtherLanguages2</OtherLanguages> 
      <RightsRestrictions>RightsRestrictions2</RightsRestrictions> 
      <GeneralComments>GeneralComments2</GeneralComments> 
      <PermissionCleared>No</PermissionCleared> 
      <TitleReferences> 
      <TitleRef ClientID="ClientID4" /> 
      <TitleRef ClientID="ClientID5" /> 
      <TitleRef ClientID="ClientID6" /> 
      </TitleReferences> 
     </Asset> 
     <Asset ClientID="ClientID3" SourceID="SourceID3"> 
      <ContentClass>Text</ContentClass> 
      <ContentType>Appendices</ContentType> 
      <CaptionDesc>CaptionDesc3</CaptionDesc> 
      <SourceName>SourceName3</SourceName> 
      <SourceAssetID>SourceAssetID3</SourceAssetID> 
      <CreditLine>CreditLine3</CreditLine> 
      <PearsonReferenceNo>PearsonReferenceNo3</PearsonReferenceNo> 
      <PermissionEditor>PermissionEditor3</PermissionEditor> 
      <CopyrightName>CopyrightName3</CopyrightName> 
      <Placement>Electronic</Placement> 
      <CurrencyCode>ZAR - South African rand</CurrencyCode> 
      <Pricing>Pricing3</Pricing> 
      <PreviouslyClearedbyPearson>Yes</PreviouslyClearedbyPearson> 
      <PearsonProductIdentifier>PearsonProductIdentifier3</PearsonProductIdentifier> 
      <SubscriptionDeal>Yes</SubscriptionDeal> 
      <Ownership>Ownership3</Ownership> 
      <RightsClass>Royalty Free</RightsClass> 
      <ReuseStatus>Re-use prohibited</ReuseStatus> 
      <LicenseExpDate>9999-12-31</LicenseExpDate> 
      <LocationRelease>Not Applicable</LocationRelease> 
      <PerformanceRelease>Not Applicable</PerformanceRelease> 
      <ModelRelease>Not Applicable</ModelRelease> 
      <RightsAsRequested>Yes</RightsAsRequested> 
      <FormatAsRequested>Yes</FormatAsRequested> 
      <TerritoriesAsRequested>Yes</TerritoriesAsRequested> 
      <LanguageAsRequested>Yes</LanguageAsRequested> 
      <SupportingSupplements>Yes</SupportingSupplements> 
      <Revisions>Yes</Revisions> 
      <ForeignLanguageTranslations>Yes</ForeignLanguageTranslations> 
      <NumberOfEditions>This and Subsequent Editions</NumberOfEditions> 
      <PromotionalUse>Right to Display in context Project/Title - Print</PromotionalUse> 
      <Derivatives>Yes</Derivatives> 
      <DerivativeSubcategory>Abridgements</DerivativeSubcategory> 
      <DerivativeSubcategory>Adaptations</DerivativeSubcategory> 
      <DerivativeSubcategory>Brief Editions</DerivativeSubcategory> 
      <AllMedia>Yes</AllMedia> 
      <AllMediaQuantity>AllMediaQuantity3</AllMediaQuantity> 
      <Print>Yes</Print> 
      <PrintQuantity>PrintQuantity3</PrintQuantity> 
      <Digital>Yes</Digital> 
      <DigitalQuantity>DigitalQuantity3</DigitalQuantity> 
      <WorldRights>Yes</WorldRights> 
      <WorldRightsExcludingNAmerica>Yes</WorldRightsExcludingNAmerica> 
      <NonWorldRights>Yes</NonWorldRights> 
      <OtherTerritories>OtherTerritories3</OtherTerritories> 
      <AllLanguages>Yes</AllLanguages> 
      <OtherLanguages>OtherLanguages3</OtherLanguages> 
      <RightsRestrictions>RightsRestrictions3</RightsRestrictions> 
      <GeneralComments>GeneralComments3</GeneralComments> 
      <PermissionCleared>Yes</PermissionCleared> 
      <TitleReferences> 
      <TitleRef ClientID="ClientID7" /> 
      <TitleRef ClientID="ClientID8" /> 
      <TitleRef ClientID="ClientID9" /> 
      </TitleReferences> 
     </Asset> 
     </AssetList> 
    </Project> 
    </RequestBody> 
</CreateProjectRequest> 

如果有人能解決這個問題,我會非常感激!

+0

您是否試圖以其他方式攻擊此問題,即_with_ SSL驗證?我的意思是使用權限包CURLOPT_CAINFO。 –

+0

這可能是一個選項。將不得不明天與我的僱主說話,看看他能否得到一個。不過,我想成爲最後的選擇。 –

+0

實際上,CA軟件包可以自由下載,它只是來自可簽署和分發SSL證書(例如VeriSign)的可信組織的證書頒發機構(CA)證書包。在網頁瀏覽過程中,瀏覽器正在做這樣的檢查(這些CA證書已經內置),在這種情況下,您需要下載CA套件進行檢查。如果您可以通過瀏覽器致電他們的服務,您可以查看該軟件包需要哪些CA證書。 –

回答

0

這絕對是在他們的最後產生的錯誤。如果這是一個curl錯誤,根據你的代碼,這個錯誤會被前綴爲:echo'Error Code('。curl_errno($ ch)。'):'。 curl_error($ CH);

但是,您可能會發送錯誤的請求?我會爲這個短語設置一個捕獲,並將原始傳出和傳入xml記錄到日誌文件/ db中,以引起他們的注意。

+0

我認爲這可能是這種情況,但他們已向我們保證,該請求是正確的,它應該工作。他們也有其他客戶使用該服務,並且對他們來說工作正常。我認爲與我們和他們溝通存在錯誤。我將如何去監控和記錄傳出和傳入的通信? –

+0

他們所說的問題是你沒有代碼來產生錯誤。在Google上搜索該語句後,我發現它是由.NET應用程序或IIS產生的錯誤。 (http://salvoz.com/blog/2011/02/18/where-are-the-server-logs/)。我假設你是用PHP編寫的,你的商店也沒有使用。 我會檢查有效的XML返回負載。如果解析xml失敗,請使用日期/時間將您的$ data,$ response和$ error(將此定義爲:$ error = curl_error($ ch))寫入服務器上的平面文本文件。 – kwolfe