2011-10-06 113 views
0

這個web服務是用java(apache axis)開發的,這個web服務有重載的方法。php java web服務

public String displayName(int studentid) 
public String displayName(string name,int grade) 

如實施例

這些方法暴露,並且可以通過wsdl.if PHP客戶機被視爲要訪問該Web服務的方法是php能夠足夠多來區分這2個methds?僅僅因爲方法重載,在長期運行中會出現任何問題嗎?

感謝,

回答

0

一般超載運行,應避免用於Web服務,因爲它事複雜化(WSDL 2.0不允許過載操作)。還具有獨特的操作名稱確保與不同的客戶端工具

一種方式

  • 使用文檔/文字非包裝樣式WSDL(WSDL1.1版)最大的互操作性。這有利於重載操作。
  • 確保客戶端可以訪問的WSDL是這種風格的。

另一種方式但有點複雜。

  • 默認情況下,Axis不支持超載操作。如果您爲具有重載操作的類生成了WSDL,它將只顯示一個操作。
  • 但有一條出路。我不確定您正在使用哪個軸版本,但您可以使用Custome Message Receiver。結帳this link
  • 這裏需要將一個類配置爲在達到實際的Web服務方法之前接收該消息。

我明白你在使用座標軸,但是我建議你看看這是如何優雅地處理的in JAX-WS

+0

謝謝Santosh它澄清我的懷疑 – andare

+0

@andare,PLZ接受此答案,如果這解決您的問題。 – Santosh