6.3.2. Web servisi açıklaması
Web servisi adı belirtilmez. Yöntem yürütme için varsayılan zaman aşımı 5 saniyedir. Varsayılan zaman aşımı değerini değiştirmek için web servisini çağırırken tout parametresini kullanın.
6.3.2.1. Sürüm 1
onStartSession
Açıklama:
Yöntem, istemci lisansı gerektiren oturumun başlatılmasında sunucu kümesi tarafından çağrılır:
- Designer
- Kalın istemci
- Harici bağlantı
- İnce istemci
- Web istemcisi
- Mobil istemci
- 1C:Analytics istemci
Yöntem, belirtilen parametrelerle yeni bir oturum başlatılıp başlatılamayacağına karar verir. Dönüş kodu, sunucu kümesine iletilir.
Parametreler:
Number. Çağrının sıra numarası. Kümenin web servisini her çağırışında çağrının sıra numarası 1 artar. CallNo değerine bağlı olarak, web servisi oturum verilerinin senkronize edilmesini talep edebilir.
Çağrı numarası her infobase için benzersizdir.
ClusterID girdi
String. Sunucu kümesi kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
String. Infobase'in bulunduğu sunucu kümesinin adı.
InfobaseName girdi
String. Oturumun kullandığı infobase'in adı.
SessionID girdi
String. Oturum kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
UserID girdi
String. Kullanıcı kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
UserName girdi
String. Kullanıcı Adı.
AppID girdi
String. Infobase'e erişmeye çalışan uygulamanın adı. Bu parametrenin değerleri hakkında ayrıntılı bilgi için ApplicationPresentation() genel içerik fonksiyonunun açıklamasına gözatın.
Zone girdi
String. Oluşturulan oturum için başlangıç ayırıcı değerlerini içerir. Dize, /Z başlatma komut satırı parametresi için belirtilen formatta iletilir.
LanguageCode girdi
String. Oluşturulan oturum için mesaj dili kodu.
ErrorDescription çıktı
String. Oturum oluşturulmasının engellenme nedeninin insanlar tarafından okunabilir bir açıklamasını içerir. Web servisi yöntemi 1 döndürdüğünde doldurulur.
Dönüş değeri:
Number. Dönüş değerleri:
- 0. Oturum oluşturulabilir.
- 1. Oturum oluşturulamaz. Oturum başlatan bir kullanıcıya, ErrorDescription parametresinden bir istisna metni içeren bir oturum açma hatası mesajı gösterilir. ErrorDescription parametresinin değeri boş bir dize ise, mesaj şu metni içerir: Harici oturum yönetim hizmeti tarafından oturum başlatma yasaklandı.
- 2. Senkronizasyon gerekli. Bu durumda, sunucu kümesi bu oturumu içermeyen oturum listesiyle synchronize yöntemini çağırır ve ardından tekrar onStartSession yöntemini çağırır. Harici oturum yönetim sunucu çağrıları eşzamanlı değil. Harici oturum yönetim hizmeti, oturum listesinin eşitlenmesinin gerekip gerekmediğini belirler. Çağrının sıra numarası (CallNo parametresi) bu amaçla kullanılabilir. Zaman aşımından sonra bazı çağrı numaralarının atlanması senkronizasyon gerektiren bir koşul olarak kabul edilebilir.
onFinishSession
Açıklama:
Yöntem, oturumun sonunda çağrılır.
Parametreler:
Number. Çağrının sıra numarası.
Çağrı numarası her infobase için benzersizdir.
ClusterID girdi
String. Sunucu kümesi kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
SessionID girdi
String. Oturum kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
Dönüş değeri:
Hiçbiri.
synchronize
Açıklama:
Oluşturulan oturumlardaki verileri bir sunucu kümesi ile harici oturum yönetimi özelliğini uygulayan web hizmeti arasında senkronize etmek için kullanılır. onStartSession() 2 döndürürse sunucu kümesi bu yöntemi çağırır.
Parametreler:
CallNo giriş
Number. Çağrının sıra numarası.
Çağrı numarası her infobase için benzersizdir.
ClusterID girdi
String. Sunucu kümesi kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
ClusterName girdi
String. Infobase'in bulunduğu sunucu kümesinin adı.
InfobaseName girdi
String. Oturum sayısına ilişkin bilgilerin senkronize edildiği Infobase ismi.
CurrentSessions giriş
Oturumlar. Nesne, harici oturum yönetim özelliğini kullanan belirli bir infobase için oluşturulmuş tüm oturumlar hakkında verileri içerir. Nesnenin içerdiği Content özelliği, her biri tek bir oturum tanımlayan Session nesnelerinin koleksiyonudur. Koleksiyon boş olabilir. Oturumlar nesnesinin açıklaması için bkz. Oturum .
Dönüş değeri:
Hiçbiri.
6.3.2.2. Sürüm 2
Sürüm 1 tarafından sağlanan özelliklere ek olarak, sürüm 2, bir oturumun Hazırda Bekletme durumuna girdiğini veya bu durumdan çıktığını dikkate alarak çalışmanıza izin veren iki yöntem içerir.
onHibernateSession
Açıklama:
Oturum hazırda beklediğinde sunucu kümesi bu yöntemi çağırır. Oturum hazırda bekleme durumuna girdiğinde, lisansı iptal edilir ve kullanılabilir olur; bu durum web servisi verilerinde yansıtılmalıdır. Hazırda bekleme durumuna giren oturumun başında, sunucu kümesi bu web servisinin onStartSession yöntemini çağırır.
Parametreler:
CallNo giriş
Number. Çağrının sıra numarası.
Çağrı numarası her infobase için benzersizdir.
ClusterID girdi
String. Sunucu kümesi kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
SessionID girdi
String. Oturum kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
Dönüş değeri:
Hiçbiri.
onWakeupSession
Açıklama:
Parametreler:
CallNo giriş
Number. Çağrının sıra numarası. Kümenin web servisini her çağırışında çağrının sıra numarası 1 artar. CallNo değerine bağlı olarak, web servisi oturum verilerinin senkronize edilmesini talep edebilir.
Çağrı numarası her infobase için benzersizdir.
ClusterID girdi
String. Sunucu kümesi kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
SessionID girdi
String. Oturum kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
ErrorDescription çıktı
String. Oturum uyandırılmasını engellenme nedeninin insanlar tarafından okunabilir bir açıklamasını içerir. Web servisi yöntemi 1 döndürdüğünde doldurulur.
Dönüş değeri:
Number. Dönüş değerleri:
- 0 - Oturumu uyandırabilir.
- 1. Oturumu uyandıramaz. Oturumu uyanmaya çalışan bir kullanıcıya, ErrorDescription parametresinden bir istisna metni içeren oturum açma hatası mesajı gösterilir. ErrorDescription parametresinin değeri boş bir dize ise, mesaj şu metni içerir: Hazırda bekletilen oturumun geri yüklenmesi, harici oturum yönetim hizmeti tarafından yasaklanmıştır.
- 2. Senkronizasyon gerekli. Bu durumda, sunucu kümesi bu oturumu içermeyen oturum listesiyle synchronize yöntemini çağırır ve ardından tekrar onWakeupSession yöntemini çağırır. Harici oturum yönetim sunucu çağrıları eşzamanlı değil. Harici oturum yönetim hizmeti, oturum listesinin eşitlenmesinin gerekip gerekmediğini belirler. Çağrının sıra numarası (CallNo parametresi) bu amaçla kullanılabilir. Zaman aşımından sonra bazı çağrı numaralarının atlanması senkronizasyon gerektiren bir koşul olarak kabul edilebilir.
6.3.2.3. Sürüm 3
Sürüm 3, onStartSession() yönteminin genişletilmiş bir parametre listesine sahiptir ve iki yeni parametre içerir: SessionNumber ve ClientIPAddress.
onStartSession
Açıklama:
Yöntem, oturum başlangıcında sunucu kümesi tarafından çağrılır (arka plan iş oturumları ve WS bağlantı oturumları hariç). Yöntem, belirtilen parametrelerle yeni bir oturum başlatılıp başlatılamayacağına karar verir. Dönüş kodu, sunucu kümesine iletilir.
Parametreler:
CallNo giriş
Number. Çağrının sıra numarası. Kümenin web servisini her çağırışında çağrının sıra numarası 1 artar. CallNo değerine bağlı olarak, web servisi oturum verilerinin senkronize edilmesini talep edebilir.
Çağrı numarası her infobase için benzersizdir.
ClusterID girdi
String. Sunucu kümesi kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
ClusterName girdi
String. Infobase'in bulunduğu sunucu kümesinin adı.
InfobaseName girdi
String. Oturumun kullandığı infobase'in adı.
SessionID girdi
String. Oturum kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
SessionNumber giriş
Number. Oturum sayısı. Infobase'de oturum sayısını içerir.
UserID girdi
String. Kullanıcı kimliği. Evrensel benzersiz tanımlayıcının (UUID) dize gösterimini içerir.
UserName girdi
String. Kullanıcı Adı.
ClientIPAddress girdi
String. Oturumu başlatmaya çalışan istemci uygulamasının IP adresi.
AppID girdi
String. Infobase'e erişmeye çalışan uygulamanın adı. Bu parametrenin değerleri hakkında ayrıntılı bilgi için ApplicationPresentation() genel içerik fonksiyonunun açıklamasına gözatın.
Zone girdi
String. Oluşturulan oturum için başlangıç ayırıcı değerlerini içerir. Dize, /Z başlatma komut satırı parametresi için belirtilen formatta iletilir.
LanguageCode girdi
String. Oluşturulan oturum için mesaj dili kodu.
ErrorDescription çıktı
String. Oturum oluşturulmasının engellenme nedeninin insanlar tarafından okunabilir bir açıklamasını içerir. Web servisi yöntemi 1 döndürdüğünde doldurulur. Dönüş parametre değeri bir dize veya şu şekilde dönüştürülmüş FormattedString türünün değeri olabilir: XDTOSerializer.XMLString(FormattedString).
Dönüş değeri:
Number. Dönüş değerleri:
- 0. Oturum oluşturulabilir.
- 1. Oturum oluşturulamaz. Oturum başlatan bir kullanıcıya, ErrorDescription parametresinden bir istisna metni içeren bir oturum açma hatası mesajı gösterilir. ErrorDescription parametresinin değeri boş bir dize ise, mesaj şu metni içerir: Harici oturum yönetim hizmeti tarafından oturum başlatma yasaklandı.
- 2. Senkronizasyon gerekli. Bu durumda, sunucu kümesi bu oturumu içermeyen oturum listesiyle synchronize yöntemini çağırır ve ardından tekrar onStartSession yöntemini çağırır. Harici oturum yönetim sunucu çağrıları eşzamanlı değil. Harici oturum yönetim hizmeti, oturum listesinin eşitlenmesinin gerekip gerekmediğini belirler. Çağrının sıra numarası (CallNo parametresi) bu amaçla kullanılabilir. Zaman aşımından sonra bazı çağrı numaralarının atlanması senkronizasyon gerektiren bir koşul olarak kabul edilebilir.
6.3.2.4. Sürüm 4
Sürüm 4'te, Session nesnesi, koleksiyonu synchronize() yönteminin CurrentSessions parametresi olarak iletilen daha fazla alana sahiptir:
- SessionNumber. Oturum sayısı.
- ClientIPAddress. İstemci uygulamanın IP adresi.
6.3.2.5. Oturum türü açıklaması
6.3.2.5.1. Sürüm 1
Sessions nesnesinin açıklaması (XSD biçiminde), sürüm 1−3 (dahil):
<xs:schema xmlns:ns1="http://v8.1c.ru/8.1/data/core" xmlns:tns="http://v8.1c.ru/SessionManagement" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://v8.1c.ru/SessionManagement" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:import namespace="http://v8.1c.ru/8.1/data/core"/> <xs:complexType name="Session"> <xs:sequence> <xs:element name="SessionID" type="xs:string"/> <xs:element name="UserID" type="xs:string"/> <xs:element name="UserName" type="xs:string"/> <xs:element name="AppID" type="xs:string"/> <xs:element name="Zone" type="xs:string"/> <xs:element name="LanguageCode" type="xs:string"/> <xs:element name="Hibernate" type="xs:boolean"/> </xs:sequence> </xs:complexType> <xs:complexType name="Sessions"> <xs:sequence> <xs:element name="Content" type="tns:Session" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>
6.3.2.5.2. Sürüm 4
Sessions nesnesinin açıklaması (XSD biçiminde), sürüm 4'ten başlayarak:
<xs:schema xmlns:ns1="http://v8.1c.ru/8.1/data/core" xmlns:tns="http://v8.1c.ru/SessionManagement" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://v8.1c.ru/SessionManagement" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:import namespace="http://v8.1c.ru/8.1/data/core"/> <xs:complexType name="Session"> <xs:sequence> <xs:element name="SessionID" type="xs:string"/> <xs:element name="SessionNumber" type="xs:decimal"/> <!-- v4 --> <xs:element name="UserID" type="xs:string"/> <xs:element name="UserName" type="xs:string"/> <xs:element name="AppID" type="xs:string"/> <xs:element name="Zone" type="xs:string"/> <xs:element name="LanguageCode" type="xs:string"/> <xs:element name="Hibernate" type="xs:boolean"/> <xs:element name="ClientIPAddress" type="xs:string"/> <!-- v4 --> </xs:sequence> </xs:complexType> <xs:complexType name="Sessions"> <xs:sequence> <xs:element name="Content" type="tns:Session" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>