Использовать веб-сервис p6 в.net

На Primavera P6 установлено множество веб-сервисов. WSDL: ActivityCodeAssignment.wsdl

Поле первичного ключа: ключ из нескольких частей, состоящий из следующих элементов:

ActivityObjectId
ActivityCodeTypeObjectId

Целевое пространство имен: http://xmlns.oracle.com/Primavera/P6/WS/ActivityCodeAssignment/V1

Транспортные URL по умолчанию:

http://<hostname>:<port number>/p6ws/services/ActivityCodeAssignment?wsdl
https://<hostname>:<port number>/p6ws/services/ActivityCodeAssignment?wsdl 

Но если я введу это в веб-браузере: http://my-machine:7005/p6ws/services/ActivityCodeAssignment?wsdl

Он показывает: "Сервис не найден".

Если я пытаюсь добавить ссылку на службу в Visual Studio, он говорит.

There was an error downloading 'http://my-machine:7005/p6ws/services/ActivityCodeAssignment?wsdl'.
The request failed with HTTP status 404: Not Found.
Metadata contains a reference that cannot be resolved: 'http://my-machine:7005/p6ws/services/ActivityCodeAssignment?wsdl'.
There was no endpoint listening at http://my-machine:7005/p6ws/services/ActivityCodeAssignment?wsdl that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
The remote server returned an error: (404) Not Found.
If the service is defined in the current solution, try building the solution and adding the service reference again.

P6 использует какой-то другой веб-сервис?

2 ответа

На моем компьютере, на котором работает база данных Oracle, сервер Weblogic с веб-службами P6 версии 8.1, URL-адрес для этого:

http://<hostname>:<port number>/p6ws/services/ActivityCodeAssignmentService?wsdl

Обратите внимание на слово "Сервис", прикрепленное к концу.

Не уверен, какую версию P6 вы используете.

Во-первых, проверьте, работает ли URL-адрес корневого веб-сервиса:

[Http: // имя хоста: порт /p6ws]

В противном случае вам может потребоваться проверить правильность установки и развертывания веб-служб P6.

Это Руководство администратора веб-служб P6 для версии 7.0:

http://docs.oracle.com/cd/E16281_01/Technical_Documentation/Web_Services/wsadmin.pdf

Если вы можете получить доступ к корневым веб-службам и другим конечным точкам, таким как ActivityService [http: // host: port / p6ws / services / ActivityService? Wsdl], а не ActivityCodeAssignmentService, но вы хотите использовать его, вам может потребоваться создать свой собственный WS Заглушки со следующими шагами:

  1. Создайте проект библиотеки классов в.NET с именем P6WSStubs
  2. Измените корневое пространство имен на Primavera
  3. Добавьте ссылку на Microsoft WSE 3.0.
  4. Добавьте следующую веб-ссылку Ws.P6.ActivityCodeAssignment - [http:// имя хоста: порт /p6ws/services/ActivityCodeAssignmentService? Wsdl]
  5. Сборка P6WSStubs.dll

Надеюсь, это поможет вам,

Йог

Другие вопросы по тегам