Makale numarası: 939761 - Son Gözden Geçirme: 27 Temmuz 2007 Cuma - Gözden geçirme: 1.0

Olay KIMLIĞI: bir güvenli konuşma kullanmak için Web Services Enhancements 3.0 tabanlı hizmet yapılandırdığınızda 0 kaydedilebilir: "giden işlerken bir hata oluştu hata yanıtı"

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Şu senaryoyu inceleyin. Microsoft Web Services Enhancements 3.0 (WSE 3.0) yapılandırma-güvenli konuşma kullanmak için Web hizmetini temel alan. Uygulama havuzu, ınternet ınformation Services (Web hizmetini çalıştırmak için özel bir kullanıcı hesabı kullanmak için IIS içinde) yapılandırın. Bu senaryoda, aşağıdaki hata olayları kaydedilebilir:
<a1>Olay</a1> 1

Olay türü: hata
Olay kaynağı: Microsoft WSE 3.0
Olay kategorisi: yok
Olay KIMLIĞI: 0
Tarihi: 5/19 2007
Saat: 3:30:00 PM
Kullanı.: Yok
ServerName bilgisayar:
Açıklama:
Giden bir hata yanıtı işleme bir hata oluştu.

Olay 2

Olay türü: hata
Olay kaynağı: Microsoft WSE 3.0
Olay kategorisi: yok
Olay KIMLIĞI: 0
Tarihi: 5/19 2007
Saat: 3:30:00 PM
Kullanı.: Yok
ServerName bilgisayar:
Açıklama:
System.ApplicationException: WSE841: Giden işlerken bir hata oluştu hata yanıtı.
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Sunucu isteği işleyemedi.
System.Security.Cryptography.CryptographicException: Sistem belirtilen dosyayı bulamıyor.

Not Sözcüğü "oluştu." Bu olaylar, "oluştu" sözcüğü yanlış yazılmış aranır

Neden

Varsayılan olarak, ilke EstablishSecurityContext özelli?inin true olarak ayarlayarak, bir güvenli konuşma kullanmak için Web hizmetini yapılandırma WSE 3.0 durum bilgisi olan SecurityContextToken nesnesini kullanır. Veri koruma APı'nın (DPAPI), WSE 3.0 SecurityContextToken nesnenin durumunu kodlamak ve SecurityContextToken nesnenin durumunu çözmek için kullanır. Veya, WSE 3.0 DPAPI SecurityContextToken nesnesinin tanımlama bilgisi kodlamak ve SecurityContextToken nesnesinin tanımlama bilgisi kodu çözülemiyor.

Bu sorun, kullanıcı profili, uygulama havuzu kimliği yüklenmez, WSE 3.0 DPAPI çağrılamıyor nedeniyle oluşur.

Pratik Çözüm

Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1

Uygulama havuzu kimliği, kullanıcı profili zaten yüklü bir kullanıcı hesabı olarak çalışacak biçimde yapılandırın. Örneğin, uygulama havuzu kimliği, Network Service hesabı olarak çalışacak biçimde yapılandırın.

Yöntem 2

El ile uygulama havuzu kimliği, kullanıcı profili yüklenemedi. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın.

Yöntem A

Şu adımları izleyin:
  1. Bir kullanıcı hesabı bilgisayarda oturum açmak için kullanın ve sonra kullanıcı hesabının değiştirin.
  2. Bu kullanıcı hesabının altında bir Microsoft Windows hizmet oluşturmak veya bir Windows hizmeti'ni çalıştırın.
  3. Windows hizmeti kullanıcı hesabının, masaüstüyle etkileşimli biçimde yapılandırın.

Yöntem B

Kullanıcı profili yüklemek için <a0></a0>, LoadUserProfile işlevini çağırın.

Yöntem 3

Web hizmeti durum bilgisi olan SecurityContextToken nesnesinin statefulSecurityContextToken öğe yapılandırarak devre dışı bırakın. Örneğin, durum bilgisi olan güvenlik belirteçleri devre dışı bırakmak için aşağıdaki kodu içeren uygulama yapılandırma dosyası kullanabilirsiniz.
<tokenIssuer>
     <statefulSecurityContextToken enabled="false"/>
   </tokenIssuer>

Yöntem 4

Güvenli konuşma, <a1>kullanım</a1> bir X 509 sertifika ya da kullanım kullanmak için Web hizmetini yapılandırmak için başka bir güvenlik belirteci yazın varsayılan DPAPI uygulaması yerine. Bunu yapmak için <a0></a0>, her Web sunucusu uygulama yapılandırma dosyasında serviceToken öğesi'ni yapılandırın. Örneğin, aşağıdaki kod, bir X 509 kullanmak için Web hizmetini yapılandırır varsayılan DPAPI uygulaması yerine sertifika.
<microsoft.web.services3>
    <tokenIssuer>
      <statefulSecurityContextToken enabled="true"/>
      <serviceToken>
        <add>
          <KeyInfo>
            <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
              <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier">bBwPfItvKp3b6TNDq+14qs58VJQ=</wsse:KeyIdentifier>
            </wsse:SecurityTokenReference>
          </KeyInfo>
        </add>
      </serviceToken>
    </tokenIssuer>
  </microsoft.web.services3>

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

SOAP ileti gönderdiğinizde, durum bilgisi olan SecurityContextToken nesnesi ile birlikte, yalnızca Web hizmeti tarafından alınan bir şifrelenmiş anahtar serileştirilir. On the contrary durum bilgisi olmayan SecurityContextToken nesnesinin bir şifrelenmiş anahtar, Web hizmeti ve istemci tarafından önbelleğe alınır. Bu nedenle, önbelleğe alınmış SecurityContext güvenlik belirteci temsil eden bir benzersiz dize SOAP iletinin gönderilmesi gerekir. Önbelleklerinin hazır olduğunda sorun oluşur. Durum bilgisi olmayan nesne SecurityContextToken kullanırsanız ve Web hizmetini barındıran uygulama etki alanı sıfırlarsanız, önbelleklerinin yok edilir. Bu nedenle, bir SOAP hatası oluşur.

Not Bazı virüs tarayıcılarını, uygulama etki alanı sıfırlanmasına neden olabilir.

Sorunu Yeniden Oluşturma Adımları

  1. WSE 3.0 güvenli konuşma Quickstart örnek açın. Varsayılan olarak, bu bir örnek aşağıdaki konumdadır:
    drive: \Program Files\Microsoft WSE\v3.0\Samples\CS\QuickStart\Security\SecureConversation\Policy
  2. Bu örneklemde Web hizmetini çalıştırmak için özel bir kullanıcı hesabı kullanmak için uygulama havuzu yapılandırın. Uygulama havuzu kimliği, kullanıcı profili henüz yüklü değil.
  3. WSE 3.0 güvenli konuşma Quickstart örnek çalıştırın.

Referanslar

DPAPI ile ilgili sorunları giderme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
309408  (http://support.microsoft.com/kb/309408/ ) Veri koruma APı'nın (DPAPI) nasıl giderilir
Windows veri koruma hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms995355.aspx (http://msdn2.microsoft.com/en-us/library/ms995355.aspx)
LoadUserProfile işlevi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa374341.aspx (http://msdn2.microsoft.com/en-us/library/aa374341.aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Studio 2005 Team Suite
  • Microsoft Visual Studio 2005 Team System Test Edition
  • Microsoft Visual Studio 2005 Team Foundation Server
  • Microsoft Visual Studio 2005 Team Edition for Database Professionals
  • Microsoft Visual Studio 2005 Team Edition for Software Architects
  • Microsoft Visual Studio 2005 Team Edition for Software Developers
  • Microsoft Visual Studio 2005 Team Edition for Software Testers
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional
  • Microsoft Visual Studio 2005 Express Edition
Anahtar Kelimeler: 
kbmt kbexpertiseadvanced kbtshoot kbprb KB939761 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:939761  (http://support.microsoft.com/kb/939761/en-us/ )