1
我已經使用在線工具從WSDL生成了Apex類,但生成的代碼在多個位置硬編碼了服務url。我希望代碼在配置對象中查找服務url,以便我可以將它指向臨時服務器,然後將其切換到現場而無需重新生成代碼。來自WSDL的新Apex代碼
我應該查找哪個生成的類要使用,還是應該編輯生成的代碼,以便查找服務URL或是否有參數化服務URL的方法?
我已經使用在線工具從WSDL生成了Apex類,但生成的代碼在多個位置硬編碼了服務url。我希望代碼在配置對象中查找服務url,以便我可以將它指向臨時服務器,然後將其切換到現場而無需重新生成代碼。來自WSDL的新Apex代碼
我應該查找哪個生成的類要使用,還是應該編輯生成的代碼,以便查找服務URL或是否有參數化服務URL的方法?
我會更新生成的代碼。我之前完成了這個任務,對Web服務調用沒有影響。
您可能想要考慮使用Custom Settings(在這種情況下,列表設置可能是最好的)來存儲您的服務URL。
使用自定義設置,它會是這個樣子:
List<WebServiceSettings__c> wss = WebServiceSettings__c.getall().values();
//... other code ...
public String endpoint_x = wss[0].URL__c;
您需要更改Web服務URL的所有引用在生成的代碼wss[0].URL__c
。
如何在列表中引用URL__c?它不應該是wss [0] .URL__c?此外,當您從WSDL進行重新生成時,是否可以執行字符串替換以便用代碼查找來更新所有硬編碼的URL引用? – 2012-03-28 21:28:57
感謝您的支持(關於List參考);我更新了答案。您應該可以執行搜索並替換以更改生成的代碼中的引用,但我沒有測試過。我只手動更改引用。 – 2012-03-28 21:38:32
我有它的工作馬修。我只需手動更改所有硬編碼的URL,然後在查找自定義設置對象的類上調用靜態方法。我甚至在一個地方添加了一個位於URL和服務文件之間的「路徑」變量。謝謝! – 2012-03-29 14:26:51