Использовать веб-сервис 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 Заглушки со следующими шагами:
- Создайте проект библиотеки классов в.NET с именем P6WSStubs
- Измените корневое пространство имен на Primavera
- Добавьте ссылку на Microsoft WSE 3.0.
- Добавьте следующую веб-ссылку Ws.P6.ActivityCodeAssignment - [http:// имя хоста: порт /p6ws/services/ActivityCodeAssignmentService? Wsdl]
- Сборка P6WSStubs.dll
Надеюсь, это поможет вам,
Йог