OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-msg message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RosettaNet Message Header to ebXML Message Header Mapping


Attached please find a proposed mapping of RosettaNet Implementation
Framework (RNIF) 2.0 message header elements to ebXML message header
elements that Pete Wenzel, Brad Lund, Prasad Yendluri and I have put
together. This currently makes direct use of the SOAP-ENV:Header
extensibility feature to add RosettaNet namespace qualified elements, in
order to make it easy for solution providers to simultaneously support RNIF
2.0 and RNIF 3.0. (RNIF 3.0 is expected to be layered on top of the ebXML
Messaging Service.)

The purpose of this post is to solicit feedback on the naturaless of the
mapping, and to stimulate discussions on the completeness of the ebXML SOAP
Extension Elements schema. For example, should this mapping directly make
use of SOAP-ENV:Header extensions? Should the ebXML MessageHeader itself
allow for namespace qualified elements? Should additional elements be
provided in the ebXML header to avoid the need to encode multiple RNIF
header elements into a single ebXML header element?

For readers who are not familiar with the RNIF 2.0 header structures, I am
also attaching RosettaNet message guidelines for the RNIF DeliveryHeader adn
RNIF ServiceHeader. Further information on RNIF 2.0 can be found at:
http://www.rosettanet.org/rosettanet/Rooms/DisplayPages/LayoutInitial?Contai
ner=com.webridge.entity.Entity%5BOID%5BAE9C86B8022CD411841F00C04F689339%5D%5
D

-Arvola
  -----Original Message-----
  From: Arvola Chan <arvola@tibco.com>
  To: Burdett David <david.burdett@commerceone.com>; christopher ferris
<chris.ferris@east.sun.com>; Martin W Sachs <mwsachs@us.ibm.com>
  Cc: ebxml-cppa@lists.oasis-open.org <ebxml-cppa@lists.oasis-open.org>;
ebXML Msg <ebxml-msg@lists.oasis-open.org>
  Date: Friday, July 27, 2001 5:31 PM
  Subject: Re: message routing


  David:

  Pete Wenzel, Brad Lund, Prasad Yendluri and I have previously made an
attempt to map RosettaNet RNIF 2.0 message header elements to the 0.99
version of the ebXML message header elements. I can try to update the
mapping to correspond to the 1.0 spec and share it with the team.

  I am in favor of including an optional general "Business Process Id"
element to the 1.1 version of ebXML Messaging. I agree that it is generally
applicable and I don't think it should lead to any backward compatibility
problem.

  Regards,
  -Arvola
    ----- Original Message -----
    From: Burdett, David
    To: 'Arvola Chan' ; christopher ferris ; Martin W Sachs
    Cc: ebxml-cppa@lists.oasis-open.org ; ebXML Msg
    Sent: Friday, July 27, 2001 4:44 PM
    Subject: RE: message routing


    Arvola

    Mapping the ebXML headers to headers of other popular protocols was one
of the ideas we had for 1.0 for which we ran out of time. On the other hand,
the inclusion of an optional general "Business Process Id" as a URI to hold
a reference to the business process of which a message is part sounds an
obviously good idea as it will be generally applicable to many uses of ebXML
Messaging. Do you agree?

    The question is should it be included in version 1.1 or version 2.0 of
ebXML ...

    David
      -----Original Message-----
      From: Arvola Chan [mailto:arvola@tibco.com]
      Sent: Thursday, July 26, 2001 9:41 AM
      To: christopher ferris; Martin W Sachs
      Cc: ebxml-cppa@lists.oasis-open.org; ebXML Msg
      Subject: Re: message routing


      Chris and Marty:

      The RosettaNet message header currently carries a lot of redundant
information that can potentially be derived from the local software
configuration (i.e., the implicit bilateral trading partner agreement that
has been configured into the software). For example, David Fischer earlier
asked if there should be a place in the ebXML message header to carry the
PIP process identifier (e.g., PIP 3A4 Request Purchase Order). I believe
RosettaNet PIP actions have unique GlobalBusinessActionCodes, so if we use
the Action element to carry a GlobalBusinessActionCode, it should be
possible to do a table lookup using the Action element to determine the
RosettaNet PIP process identifier. Even if my uniqueness assumption turns
out to be false, it is still possible to encode the PIP process identifier
information into the Action element (perhaps using it as a prefix).

      To ease solution providers' migration from the existing RosettaNet
Implementation Framework to a future version that takes advantage of the
ebXML messaging infrastructure, it will be highly desirable if all existing
RosettaNet message header elements can be mapped to equivalent ebXML header
elements, or carried as namespace specific extension elements, rather than
requiring convoluted lookups.

      Appendix A (ebXML SOAP Extension Elements Schema) in the messaging
service spec shows that the MessageHeader can take wildcard attributes. It
may be useful to also allow an arbitrary number of namespace specific
wildcard elements to be included. Similarly, the MessageData element
currently carries a RefToMessageId element that can be used for correlation
purposes. In the RosettaNet case, an equivalent InReplyTo element carries
both a messageTrackingID as well as a GlobalBusinessActionCode. The latter
information while redundant helps the recipient to properly route the
response message. Therefore, it will be helpful if either the MessageData
element or the RefToMessageId can carry additional wildcard sub-elements.

      Rather than tailoring the ebXML message header to meet RosettaNet's
requirements (and to the exclusion of all others), I would advocate making
the ebXML message header sufficiently extensible so that it can meet the
needs of different industry specific standards.

      Regards,
      -Arvola

      Arvola Chan (arvola@tibco.com)
      TIBCO Software (on loan to RosettaNet)
      +1-650-846-5046 (US-Pacific)

      ----- Original Message -----
      From: "christopher ferris" <chris.ferris@east.sun.com>
      To: "Martin W Sachs" <mwsachs@us.ibm.com>
      Cc: <ebxml-cppa@lists.oasis-open.org>
      Sent: Thursday, July 26, 2001 5:15 AM
      Subject: Re: message routing


      > Marty (or possibly more correctly Arvola),
      >
      > Please see below.
      >
      > Cheers,
      >
      > Chris
      >
      > Martin W Sachs wrote:
      > <snip/>
      > >
      > > I agree that it deserves attention, the larger question in my mind
is what
      > > manner of attention?
      > >
      > > MWS:  The specific goal should be to satisfy the RosettaNet needs.
If we
      > > can come up with a generalization that will accomplish a larger
set of
      > > needs, so much the better. For example, perhaps some routing URI
that
      > > contains
      > > terms for all the routing levels
      > > would be the way to go.  The critical point is that each of those
levels
      > > must
      > > be visible in the BPSS instance document so that the BPSS instance
document
      > > continues to express the routing agreement that enables each party
to send
      > > a message with the routing information needed at the destination.
For
      > > RosettaNet, it means that the BPSS instance document must include
      > > surrogates
      > > for all the levels that Arvola needs.
      > >
      > <snip/>
      >
      > I would agree that we should be striving to satisfy RosettaNet's
needs,
      > but IMHO, not to the exclusion of all others.
      >
      > I take it that these needs are not satisfied with what is currently
      > available? I would like to understand the issues more thoroughly.
      >
      > First off, what is the issue with regards to routing that cannot be
      > adequately expressed with CPAId, ConversationId, Service, Action
      > AND state? If it is Role, which is absent from the Message, then
      > this can be easily derived. Admittedly, it gets a little complicated
      > when both parties can act in either role and this is expressed in
      > the same CPA, but it is still possible if you are willing to assume
      > that the first message of a new conversation is always what
      > it appears to be (the first message of a new conversation) as
opposed to
      > a message with the wrong service/action and conversationId.
      >
      > In any event, you can derive role by working out which role in the
CPA
      > has service/action as its first message in the choreography. From
      > there on, it is merely state information about the conversation.
      >
      > I suppose that we could add it to the message as long as the MS TC
      > agreed. It seems overly redundant to me to be passing this around
      > as the information IS in the CPA. Of course, if you're flying
      > without a net, er... CPA, then all bets are off;-)
      >

RNIF2-ebXMLTRP_Packaging_20010809.doc

RosettaNet XML Message Guidelines
DeliveryHeader_MG_V02_00_00.htm (11-Jul-2001)

1

1

DeliveryHeader

2

1

      |-- isSecureTransportRequired.AffirmationIndicator

3

1

      |-- messageDateTime.DateTimeStamp

4

1

      |-- messageReceiverIdentification.PartnerIdentification

5

0..1

      |      |-- domain.FreeFormText

6

1

      |      |-- GlobalBusinessIdentifier

7

0..1

      |      |-- locationID.Value

8

1

      |-- messageSenderIdentification.PartnerIdentification

9

0..1

      |      |-- domain.FreeFormText

10

1

      |      |-- GlobalBusinessIdentifier

11

0..1

      |      |-- locationID.Value

12

1

      |-- messageTrackingID.InstanceIdentifier



Guideline Information

2: isSecureTransportRequired.AffirmationIndicator

Entity Instances
Yes: Secure Transport is required.
No: Secure Transport is not required.


3: messageDateTime.DateTimeStamp

Constraint: All the fields in the DateTimeStamp (CCYYMMDDThhmmss.sssZ) must be present. The timestamp MUST be generated as close to the time of first attempted transport as possible.


5: domain.FreeFormText

User Notes: "DUNS" is currently the only valid entry.


12: messageTrackingID.InstanceIdentifier

User Notes: Must be unique within the context of the message sender.



Business Properties

Name

Definition

isSecureTransportRequired

Affirmative value indicates that next hub must transmit this message securely.

messageDateTime

The date and time associated with the creation of a message.

messageReceiverIdentification

Global Business Identifier of party receiving message.

domain

DUNS.

locationID

Identifies a logical business location associated with a trading partner.

messageSenderIdentification

Global Business Identifier of party sending message.

messageTrackingID

Uniquely identifies message for tracking purposes.


Business Data Entities

Name

Definition

DeliveryHeader

The collection of business properties used to specify route and message instance information.

PartnerIdentification

The collection of business properties used to identify a business partner.


Fundamental Business Data Entities

Name

Definition

Data Type

Min

Max

Representation

AffirmationIndicator

Used to indicate "Yes" or "No" statement.

String

2

3

 

DateTimeStamp

Specifies an instance in time. Based on the ISO 8601 specification where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day. The letter "T" is the date/time separator and "hh", "mm", "ss.sss" represent hour, minute and second respectively. This representation is immediately followed by a "Z" to indicate Coordinated Universal Time. Informal format: CCYYMMDDThhmmss.sssZ

DateTime

20

20

9(8)X9(6)V9(3)X

FreeFormText

Unformatted text.

String

1

 

 

GlobalBusinessIdentifier

A unique business identifier. The DUNS number is specified by RosettaNet.

Integer

9

9

9(9)

InstanceIdentifier

A unique alpha-numeric identifier that represents a specific instance of an business process, business transaction, business action or business signal. The instance identifier must be unique for a particular instance of a business process, business transaction, business action and business signal.

String

1

255

 

Value

The value for a property e.g. a technical specification.

String

1

255

 


Created using Edifecs Commerce e-Modeling Tools.

RosettaNet XML Message Guidelines
ServiceHeader_MG_V02_00_00.htm (11-Jul-2001)

1

1

ServiceHeader

2

1

      |-- ProcessControl

3

1

      |      |-- ActivityControl

4

1

      |      |      |-- BusinessActivityIdentifier

5

1

      |      |      |-- MessageControl

6

1

      |      |      |      |-- fromRole.GlobalPartnerRoleClassificationCode

7

1

      |      |      |      |-- fromService.GlobalBusinessServiceCode

8

0..1

      |      |      |      |-- inReplyTo.ActionControl

9

1

      |      |      |      |      |-- ActionIdentity

10

1

      |      |      |      |      |      |-- GlobalBusinessActionCode

11

0..1

      |      |      |      |      |      |-- messageStandard.FreeFormText

12

0..1

      |      |      |      |      |      |-- standardVersion.VersionIdentifier

13

1

      |      |      |      |      |-- messageTrackingID.InstanceIdentifier

14

1

      |      |      |      |-- Manifest

15

0..n

      |      |      |      |      |-- Attachment

16

0..1

      |      |      |      |      |      |-- description.FreeFormText

17

1

      |      |      |      |      |      |-- GlobalMimeTypeQualifierCode

18

1

      |      |      |      |      |      |-- UniversalResourceIdentifier

19

1

      |      |      |      |      |-- numberOfAttachments.CountableAmount

20

1

      |      |      |      |      |-- ServiceContentControl

21

1

      |      |      |      |      |      |-- Choice

22

      |      |      |      |      |      |      |-- ActionIdentity

23

1

      |      |      |      |      |      |      |      |-- GlobalBusinessActionCode

24

0..1

      |      |      |      |      |      |      |      |-- messageStandard.FreeFormText

25

0..1

      |      |      |      |      |      |      |      |-- standardVersion.VersionIdentifier

26

1

      |      |      |      |      |      |      |-- SignalIdentity

27

1

      |      |      |      |      |      |      |      |-- GlobalBusinessSignalCode

28

1

      |      |      |      |      |      |      |      |-- VersionIdentifier

29

1

      |      |      |      |-- toRole.GlobalPartnerRoleClassificationCode

30

1

      |      |      |      |-- toService.GlobalBusinessServiceCode

31

1

      |      |-- GlobalUsageCode

32

0..1

      |      |-- partnerDefinedPIPPayloadBindingId.ProprietaryReferenceIdentifier

33

1

      |      |-- pipCode.GlobalProcessIndicatorCode

34

1

      |      |-- pipInstanceId.InstanceIdentifier

35

1

      |      |-- pipVersion.VersionIdentifier

36

0..1

      |      |-- QualityOfServiceSpecification

37

1..n

      |      |      |-- QualityOfServiceElement

38

1

      |      |      |      |-- QualityOfServiceClassificationCode

39

1

      |      |      |      |-- Value

40

1

      |      |-- Choice

41

      |      |      |-- KnownInitiatingPartner

42

1

      |      |      |      |-- PartnerIdentification

43

0..1

      |      |      |      |      |-- domain.FreeFormText

44

1

      |      |      |      |      |-- GlobalBusinessIdentifier

45

0..1

      |      |      |      |      |-- locationID.Value

46

      |      |      |-- UnknownInitiatingPartner

47

1

      |      |      |      |-- PartnerIdentification

48

0..1

      |      |      |      |      |-- domain.FreeFormText

49

1

      |      |      |      |      |-- GlobalBusinessIdentifier

50

0..1

      |      |      |      |      |-- locationID.Value

51

1

      |      |      |      |-- UniformResourceLocator



Guideline Information

4: BusinessActivityIdentifier

Constraint: Special Validation and Processing Rules: For the valid value for this element, refer to the corresponding "Activity" element in the PIP Specification corresponding to the currently executing PIP and Activity. In its absence, the value is to be taken from the 'Activity Name' column of the PIP specification's 'Business Activity Descriptions' table.


5: MessageControl

User Notes: Note that all elements other than those in this group are set by the initiator and MUST remain the same through all messages in that PIP instance.


6: fromRole.GlobalPartnerRoleClassificationCode

Constraint: Special Validation and Processing Rules: For the valid value for this element, refer to the corresponding "FromRole" element (or "ToRole" element, as the case may be) in the PIP Specification corresponding to the currently executing PIP, Activity and Action. In its absence, the value is to be taken from the 'Role Name' column of the PIP specification's 'Partner Role Descriptions' table.

Constraint: If the current message is a signal, then the value corresponding to the "FromRole" in the signal must be the same as the value of the "ToRole" in the action to which this signal is replying.


7: fromService.GlobalBusinessServiceCode

Constraint: Special Validation and Processing Rules: For the valid value for this element, refer to the corresponding "FromService" element (or "ToService" element, as the case may be) in the PIP Specification corresponding to the currently executing PIP, Activity and Action. In its absence, the value is to be taken from the 'Network Component in FSV' column of the PIP specification's 'Network Component Specification' table.

Constraint: If the current message is a signal, then the value corresponding to the "FromService" in the signal must be the same as the value of the "ToService" in the action to which this signal is replying.


8: inReplyTo.ActionControl

User Notes: MUST be present if this is not the first message in an activity. MUST be present for all signals.


10: GlobalBusinessActionCode

User Notes: For the valid value for this element, refer to the corresponding "inReplyTo.ActionControl" element in the PIP specification corresponding to the currently executing PIP, Activity and Action. In its absence, the value is to be taken from the 'Business Action in FSV' column of the PIP specification's 'Business Action - Business Document Mapping' table.


11: messageStandard.FreeFormText

User Notes: Must be present if non-RosettaNet-defined service content is carried. Must not be present for RosettaNet-defined service content. Value to be established by partners in the Trading Partner Agreement.


12: standardVersion.VersionIdentifier

User Notes: Must be present if non-RosettaNet-defined service content is carried. Must not be present for RosettaNet-defined service content. Value to be established by partners in the Trading Partner Agreement.


17: GlobalMimeTypeQualifierCode

User Notes: This value must be chosen from the MIME content type for the attachment. A list of possible values may be found in the Media Types Directory, maintained by the Internet Assigned Numbers Authority (http://www.iana.org/).


18: UniversalResourceIdentifier

User Notes: This value MUST follow the content-ID reference syntax per RFC 2111 and MUST refer to the MIME content-ID of the attachment.


19: numberOfAttachments.CountableAmount

User Notes: If no attachments, the only allowed value is '0' (i.e., the number zero).


23: GlobalBusinessActionCode

User Notes: For the valid value for this element, refer to the corresponding "inReplyTo.ActionControl" element in the PIP specification corresponding to the currently executing PIP, Activity and Action. In its absence, the value is to be taken from the 'Business Action in FSV' column of the PIP specification's 'Business Action - Business Document Mapping' table.


24: messageStandard.FreeFormText

User Notes: A value must be specified only for non-RosettaNet entities.


25: standardVersion.VersionIdentifier

User Notes: A value must be specified only for non-RosettaNet entities.


27: GlobalBusinessSignalCode

Entity Instances
Receipt Acknowledgment: Acknowledge receipt of business message
Exception: Processing exception response.


28: VersionIdentifier

Constraint: Special Validation and Processing Rules: The value for this element MUST be obtained from the Signal Version Identifier field of the identified Business Signal's Message Guideline.


29: toRole.GlobalPartnerRoleClassificationCode

Constraint: Special Validation and Processing Rules: For the valid value for this element, refer to the corresponding "FromRole" element (or "ToRole" element, as the case may be) in the PIP Specification corresponding to the currently executing PIP, Activity and Action. In its absence, the value is to be taken from the 'Role Name' column of the PIP specification's 'Partner Role Descriptions' table.

Constraint: If the current message is a signal, then the value corresponding to the "FromRole" in the signal must be the same as the value of the "ToRole" in the action to which this signal is replying.


30: toService.GlobalBusinessServiceCode

Constraint: Special Validation and Processing Rules: For the valid value for this element, refer to the corresponding "FromService" element (or "ToService" element, as the case may be) in the PIP Specification corresponding to the currently executing PIP, Activity and Action. In its absence, the value is to be taken from the 'Network Component in FSV' column of the PIP specification's 'Network Component Specification' table.

Constraint: If the current message is a signal, then the value corresponding to the "FromService" in the signal must be the same as the value of the "ToService" in the action to which this signal is replying.


31: GlobalUsageCode

Entity Instances
Test: This is a test message.
Production: This is a production message.


32: partnerDefinedPIPPayloadBindingId.ProprietaryReferenceIdentifier

User Notes: Value to be established by partners in the Trading Partner Agreement. Must be present if non-RosettaNet-defined content is carried; must not be present if RosettaNet-defined content is used.


33: pipCode.GlobalProcessIndicatorCode

User Notes: Alphanumeric designation code of the PIP that is being executed (e.g. '3A4').


34: pipInstanceId.InstanceIdentifier

User Notes: MUST be unique within the context of the initiating partner.


35: pipVersion.VersionIdentifier

Constraint: Special Validation and Processing Rules: The valid value for this element MUST be obtained from the PIP Version Identifier element in the PIP Specification corresponding to the currently executing PIP.


38: QualityOfServiceClassificationCode

Entity Instances


39: Value

User Notes: Valid values are defined within the context of the QualityOfServiceClassificationCode.


51: UniformResourceLocator

User Notes: MUST be specified or further processing may not be possible.



Business Properties

Name

Definition

fromRole

The role initiating a business document exchange.

fromService

The business service from which a message is being sent.

inReplyTo

The business action that this message is replying to.

messageStandard

The model of authority used to create the message.

standardVersion

The version of the message standard used to create the message.

messageTrackingID

Uniquely identifies message for tracking purposes. This value comes from the Message Tracking ID in the Delivery Header of the original received message that is being replied to.

description

A description of a process, thing, action, etc.

numberOfAttachments

Number of attachments included as part of a message.

toRole

The role receiving the document in a business document exchange.

toService

The business service to which a message is being sent.

partnerDefinedPIPPayloadBindingId

Agreed-upon ID indicating type of payload included as part of this message.

pipCode

GlobalProcessIndicatorCode indicates the standard business process with which this message is associated.

pipInstanceId

Identifier for this message instance, relates to GlobalProcessIndicatorCode.

pipVersion

Indicates version of standard that is applicable. This property qualifies 'pipCode'.

domain

DUNS.

locationID

Identifies a logical business location associated with a trading partner.


Business Data Entities

Name

Definition

ServiceHeader

Processing control properties for RosettaNet Business Service messages.

ProcessControl

The collection of business properties that describe business process message control.

ActivityControl

The collection of business properties that describe control of a specific activity.

MessageControl

The collection of business properties specific to each message (within a transaction.)

ActionControl

Business action message control properties.

ActionIdentity

The collection of business properties that identify a business action.

Manifest

Specifies ServiceContent, along with number of, and list of items included in message.

Attachment

A business property that describes additional information regarding a product or process.

ServiceContentControl

Group of properties relating to message standard and version being used, and type of message (Action or Signal).

SignalIdentity

The collection of business properties that are used to identify a business signal.

QualityOfServiceSpecification

The collection of business properties that specifies quality of service constraints for this message instance.

QualityOfServiceElement

The collection of business properties that specifies a quality of service constraint item.

KnownInitiatingPartner

GlobalBusinessIdentifier of the partner initiating the business process. TPA has been established for this party.

PartnerIdentification

The collection of business properties used to identify a business partner.

UnknownInitiatingPartner

GlobalBusinessIdentifier of the partner initiating the business process. TPA has not been established for this party.


Fundamental Business Data Entities

Name

Definition

Data Type

Min

Max

Representation

BusinessActivityIdentifier

An identifier which specifies a business activity. This code is found in table 3.2 in a PIP specification document.

String

1

255

 

GlobalPartnerRoleClassificationCode

Code identifying a party's role in the supply chain. This code is found in table 3.1 in a PIP specification document.

String

1

255

 

GlobalBusinessServiceCode

Code identifying a business service network component. This code is found in table 4.1 in a PIP specification document.

String

1

255

 

GlobalBusinessActionCode

Code identifying a business action. The identifier is found in table 4.2 of the PIP specification document.

String

1

255

 

FreeFormText

Unformatted text.

String

1

 

 

VersionIdentifier

A unique identifier specifying the version of an entity e.g. a product, a message format, or a standard.

String

1

255

 

InstanceIdentifier

A unique alpha-numeric identifier that represents a specific instance of an business process, business transaction, business action or business signal. The instance identifier must be unique for a particular instance of a business process, business transaction, business action and business signal.

String

1

255

 

GlobalMimeTypeQualifierCode

The MIME type. Refer to http://www.iana.org for a list of types.

String

1

 

 

UniversalResourceIdentifier

A network-centric identifier that provides the identity of a resource.

String

1

 

 

CountableAmount

Dimensionless magnitude, e.g. number of products.

NaturalNumber

1

15

9(15)

GlobalBusinessSignalCode

Code identifying the business signal message.

String

1

255

 

GlobalUsageCode

Code identifying the message use specification is either for production or for testing.

String

4

10

 

ProprietaryReferenceIdentifier

A unique reference identifier for goods, services or business documents.

String

1

255

 

GlobalProcessIndicatorCode

Code identifying the business process.

String

1

255

 

QualityOfServiceClassificationCode

Identifies the quality of service measurement category.

String

1

 

 

Value

The value for a property e.g. a technical specification.

String

1

255

 

GlobalBusinessIdentifier

A unique business identifier. The DUNS number is specified by RosettaNet.

Integer

9

9

9(9)

UniformResourceLocator

A network address location for a network resource.

String

8

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC