веб-сервис php java - PullRequest
       4

веб-сервис php java

0 голосов
/ 06 октября 2011

Веб-сервис разработан с использованием Java (ось Apache), этот веб-сервис имеет перегруженный метод.

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

как пример

эти методы доступны и могут быть просмотрены wsdl.if клиент php хочет получить доступ к этим методам веб-сервиса, способен ли php различать эти два метода? будут ли какие-либо проблемы в этом в долгосрочной перспективе только из-за перегрузки метода?

Спасибо

1 Ответ

0 голосов
/ 06 октября 2011

Как правило, следует избегать перегрузки операций для веб-служб, поскольку это усложняет проблему (WSDL 2.0 не допускает перегруженных операций). Кроме того, уникальные имена операций обеспечивают максимальную совместимость с различными инструментами клиента

В одну сторону

  • Использовать документ / буквальный неупакованный стиль WSDL (версия WSDL1.1). Это облегчает перегруженные операции.
  • Убедитесь, что ваш WSDL, доступный для клиентов, соответствует этому стилю.

Другой способ , но немного сложный.

  • По умолчанию Axis не поддерживает перегрузку. Если вы сгенерировали WSDL для класса с перегруженной операцией, он просто покажет одну операцию.
  • Но выход есть. Я не уверен, какую версию оси вы используете, но вы можете использовать Custome Message Receiver. Оформить заказ по этой ссылке .
  • Здесь необходимо настроить класс для получения сообщения, прежде чем оно достигнет фактического метода веб-службы.

Я понимаю, что вы используете ось, но я бы посоветовал вам посмотреть, как элегантно это обрабатывается в JAX-WS .

...