2013-02-27 18 views
7

Tôi muốn chạy công cụ svcutil.exe để truy cập dịch vụ web trên internet. Thật không may, bất cứ khi nào tôi thử, tôi nhận được một loạt lỗi bao gồm thông báo sau:Cách chạy svcutil.exe từ phía sau xác thực proxy

Yêu cầu không thành công với trạng thái HTTP 407: Yêu cầu xác thực proxy (ISA Server yêu cầu ủy quyền để thực hiện yêu cầu. lọc Proxy bị từ chối.

Như tôi đã học được từ this related post (với more details here), vấn đề là tôi đang ngồi đằng sau một proxy xác thực. bài đó giải thích rằng tôi cần phải chỉnh sửa file app.config, nhưng tôi có thể' Tôi nghĩ rằng tôi sẽ sử dụng công tắc /svcutilConfig:alternate_app.config, nhưng tôi không biết làm thế nào để con cấu trúc một tệp .config hợp lệ để chuyển sang công tắc đó. Tệp app.config mặc định mà svcutil.exe sử dụng là gì?

Trả lời

11

Vâng, tôi nghĩ rằng tôi đã tìm ra câu trả lời cho câu hỏi của tôi:

Nó chỉ ra rằng tập tin mặc định .config sử dụng bởi svcutil.exe được gọi svcutil.exe.config, và (ít nhất là đối với tôi) nó sống trong thư mục này:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin 

Tôi quyết định chỉ chỉnh sửa tệp đó trực tiếp (thay vì lộn xộn xung quanh bằng công tắc /svcutilConfig). Tôi cần quyền quản trị để thực hiện việc này.

Nội dung cuối cùng của tập tin đó trông như thế này:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <generatePublisherEvidence enabled="false" /> 
    </runtime> 
    <system.net> 
    <defaultProxy useDefaultCredentials="true" /> 
    </system.net> 
</configuration> 

(với sốt bí mật chôn trong các yếu tố <system.net>.)

Để cho tất cả điều này để làm việc, tôi phải bắt đầu Dấu nhắc lệnh làm Quản trị viên, điều hướng đến thư mục được liệt kê ở trên và chạy lệnh svcutil.exe từ đó.

Hy vọng điều này sẽ giúp một số linh hồn nghèo khác bị mắc kẹt trong mớ hỗn độn này! Nhờ @AndrewWebb cho các manh mối đã giúp tôi đi!

+3

Có, tôi cũng phải làm điều này cho SvcUtil. Đối với các ứng dụng web, web.config vẫn là "web.config", nhưng đối với ứng dụng dành cho máy tính để bàn, app.config trong mã nguồn sẽ trở thành " .exe.config", như bạn đã tìm thấy. Chỉnh sửa tay svcutil.exe.config (và các tệp tương tự) đã trở nên rất quen thuộc với tôi! Ngoài ra: nếu bạn gặp một ứng dụng máy tính để bàn * mà không cần * tệp cấu hình ở nơi đầu tiên, bạn luôn có thể tạo một tên đúng với tên, trong cấu hình mặc địnhProxy và lưu nó vào thư mục .exe đang sống. –

+2

Nếu svcutil.exe.config không tồn tại, bạn có thể tạo nó như kmote có ở trên và nó sẽ hoạt động tốt. – jhamm